Задать вопрос
@Botchal

Архетектура проектов, как правильно организовать?

Здравствуйте! Подскажите, пожалуйста, есть 2 приложения на Yii2.
Они состоят из "common" (папка common с базовыми классами, например ActiveRecord, Controller и т.п.) и модулей (папка modules/) (shop, cart, user)
В этот код постоянно вносятся многочисленные изменения, как в common так и в modules.

Клиентов у нас много, причём как с разными наборами модулей так и с одинаковыми но кастомизированными (например разные actions в shop, вёрстка в user)

common общий (на данный момент мы вносим правки в каждое приложение (репозиторий) если правится common)

Нам это дико надоело.

Стоит задача, чтобы приложения использовали разный набор общих модулей и общий common

Например приложение "А" использует модули "М1", "М3", а приложение "Б" модули "М1", "М2".

Как лучше организовать работу внутри этих приложений? Модули друг от друга могут зависеть

Пока есть две идеи:
1) Оформить эти модули как пакеты, и подтягивать изменения через composer. Модули наследовать от vendor
2) Использовать git submodule, в субмодули впихнуть common и модули. Наследоваться от папки в которой сидят субмодули.

В нашем абстрактном понимании у нас есть 2 слоя-ядра, lvl1 это common, расширение фреймворка и lvl2 модули
Может быть у кого-то есть похожая ситуация, как вы всё организовали?
  • Вопрос задан
  • 336 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksclub
@Maksclub
maksfedorov.ru
по-разному, по опыту я тут должен у вас спрашивать, как сделать,
но я делал модули отдельные и как композер-пакет, основной проект вообще делаю по DDD, но тут др случай, может сделать так — выделить доменное ядро, в нем сделать модули, и в каждом приложении подключать эти модули....


есть 2 приложения на Yii2. Они состоят из "common"

Не совсем понятно — как у вас в каждом приложении отдельный common? Что вы понимаете под приложением? Я понимаю под ним ровесника пакпи common —
например приложения frontend и backend

Скиньте хотя бы скрин папок — поверьте, всем плевать как там у вас (без кода тем более) и когда есть примеры крутых архитектур Симфони
Ответ написан
Ваш ответ на вопрос

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

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