Имеется 2 сервиса, написанные на Codeigniter. У них часть функционала идентична - это авторизация, новости, FAQ, блог, оплата. + уникальный для каждого из них функционал. Встал вопрос о том, чтобы все это дело переписать на Yii2.
Подскажите, как правильно выделить общий функционал в ядро приложения в Yii2?
Просто хочется вносить изменения в этот общий функционал в одном месте, и потом уже просто подтягивать в каждом проекте его как модуль - вот не могу понять как лучше: либо все ядро разбить на составные (авторизация, новости и т.д.) и их подключать как модули (каждый хранить в отдельной репе) либо создать 1 большой модуль, который в себя все включает. Либо может есть какой-то более правильный способ?
Заранее спасибо за оказанную помощь.
Делаете модуль ЯДРО, в нем другие модули.
Все зависит от того что Вам надо, если модули независимы, то удобно как отдельные модули иметь, если они неотъемлемая часть ядра, то соответственно.
Тут скорее важно при написании этого ядра сделать его максимально абстрактным. Ему должно быть пофиг к чему оно подключено. А 1 это модуль или 10 - второй вопрос.
Спасибо за ответ.
Подскажите ещё, нужно это оформить как экстеншн, и подключать к проекту или достаточно создать как обычный модуль и хранить его в отдельном репе, а в репах основных проектов этот модуль добавить в gitignore. Просто хочу изначально сделать как надо. Спасибо.
Ленар Мустафин: Можете сделать как экстеншн, хранить на github поддерживать контроль версий и обновлять через композер, а можете просто модулем сделать в папке common хранить и переносить копипастой. Все зависит от нужд проекта(ов)
Можно также использовать advanced шаблон приложения, только не как бекэнд и фронтэнд, а как фронтэнд1, фронтэнд2 и т.д и допустим бекенд. Общие модули складывать в common. Всё остальное разносить по проектам