dkrylov
@dkrylov

Какая архитектура более универсальна при проектировании приложения Yii2?

Здравствуйте, уважаемые программисты ;)

Изучаю потихонечку Yii2, последние несколько дней гуглю информацию по грамотной архитектуре проекта.
Для примера возьмем абстрактный проект (он может быть и интернет магазином, и блогом, и новостным сайтом, и вообще любым проектом где есть админка и сам сайт ;) )

Пока что в голове у меня такое представление о проектировании:
Берем basic приложение, переносим контроллеры и модели в отдельные модули. Т.е. для пользователей есть модуль accounts, для работы со статичными страницами есть модуль page, и так далее.
В итоге получается как то так:
c84fcef22b8148e7baf37f68dc9fff48.png

Можно сказать - я хочу сделать некий скелет с набором модулей, которые используются в любых проектах для себя на основе basic шаблона.

1) Насколько данный подход будет правильным в смысле универсальности?
2) Как делаете Вы?
3) Как все же делать наиболее правильно?

Возможно стоит сделать просто 2 модуля: admin и site - и реализовывать все в них контроллерами и моделями? Или вообще не делать мозги и взять advanced? Направьте пожалуйста)
  • Вопрос задан
  • 716 просмотров
Решения вопроса 2
@miserenkov
Middle PHP Developer
Лучше взять advanced структуру, разделить на админку и сам сайт, и потом уже по желанию, делить админку и сайт на отдельные модули.
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Мое личное мнение:
1. basiс в топку используем только advanced или вообще что-то свое, но точно не убогий basiс шаблон
2. Что можно сделать абстракцией - делаем как модуль, закидываем на github, собираем потом проект за минуты
3.
Возможно стоит сделать просто 2 модуля: admin и site
- это идиотизм. Модуль это абстрактная штука. admin и site - это приложения, отдельные, в которых отдельные конфиги и т.д. и это уже реализовано в advanced шаблоне, зачем пытаться его сделать из basiс шаблона если он уже есть готовый.

Можно сказать - я хочу сделать некий скелет с набором модулей, которые используются в любых проектах для себя на основе basic шаблона.

Ошибка в том, что basic шаблон или advanced шаблон - это уже скелет. И делать на его основе скелет в скелете - это мягко говоря странно. Сделайте свой dkrylov шаблон, по подобию advanced шаблона, сделайте отдельно модули, которые будут абстракциями и собирайте из этого то что нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы