Задать вопрос
Driver86
@Driver86
Немодератор toster.ru

Yii3 или Symfony для множества сайтов?

Несколько сайтов, у которых может быть как много общего (отличия только в шаблонах), так и вообще ничего общего. Таблицы в бд будут общими, если это некоторая универсальная сущность, например, languages - таблица с id, code и title языка, так и разными, например products и articles, в том числе и с совпадающими именами, например categories. При этом разносить таблицы по разным бд - не желательно, покрайней мере для общих таблиц, т.к. предполагается использовать внешние ключи и JOIN. Т.е. напрашиваться префикс для необщих таблиц.
Какой тут лучше фреймворк выбрать? И какая структура лучше всего подойдет? Для минимизации копипаста общих частей проекта.
  • Вопрос задан
  • 323 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • HTML Academy
    Бэкенд-разработчик для Addamant
    6 месяцев
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
Решения вопроса 2
SamDark
@SamDark
Yii2 core team
У вас что-то типа мультенантного (multitenant) приложения с единой админкой.

1. В вашем случае чего-то особого именно под вашу задачу вам не даст ни Yii3, ни Symfony, ни какой-либо другой фреймворк. Ну разве что в Yii3 вам может помочь система виджетов (если у вас классический рендеринг HTML, а не какой-то React).
2. Основная сложность — не выбрать фреймворк, а придумать, как именно выстроить архитектуру. Тут очень сильно зависит от требований к изоляции или не изоляции данных между сайтами, от того, сколько общего у разных сайтов сейчас и, главное, насколько эти сайты могут разойтись в функциональности через год или два (иногда копипаст — добро).
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
У меня похожая история — в итоге взял Symfony, там это давно обкатано. Есть готовый Doctrine prefix bundle для сайт-специфичных таблиц, общие entity без изменений, куча примеров. Yii3 stable только с декабря, экосистема под такой кейс жиже.

По структуре мыслишь верно: общий код и модели — в отдельный bundle, который все сайты подключают.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы