Yii2 advanced application. Описание расширенного шаблона приложения
Yii2 advanced
- это скелет приложения на yii framework 2 для создания сложных web проектов с несколькими "ярусами": frontend, backend и консольное приложение, каждое из которых выделено в отдельное yii пиложение. Данный шаблон спроектирован для разработки в команде с возможностью использования различного окружения. Так же данный шаблон содержит реализованный механизм авторизации, регистрации пользователей через БД и восстановления пароля прямиком из коробки.
Давайте рассмотрим структуру директорий и файлов. На первый взгляд она может показаться сложной, но в ней легко разобраться, так как она отлично структурирована:
common config/ общие настройки приложения mail/ файлы представлений для e-mail писем models/ общие модели, которые используются в бэкэнде и фронтэнде console config/ настройки консольного приложения controllers/ консольные контроллеры (команды) migrations/ миграция БД models/ специфичные модели для консольного приложения runtime/ файлы сгенерированные во время работы консольного приложения backend assets/ ресурсы. например, JavaScript, CSS config/ конфигурации бэкэнда controllers/ контроллеры models/ специфичные модели для backend runtime/ файлы сгенерированные во время работы backend-приложения views/ файлы представлений web/ входной скрипт бэкэнда и вэб-ресурсы frontend assets/ ресурсы. например, JavaScript, CSS config/ конфигурации фронтэнда controllers/ контроллеры models/ специфичные модели для frontend runtime/ файлы сгенерированные во время работы frontend-приложения views/ файлы представлений web/ входной скрипт фронтэнда и вэб-ресурсы widgets/ виджеты фронтэнда vendor/ пакеты зависимостей композера environments/ специфичные вещи окружения tests различные тесты приложения codeception/ Codeception тесты .gitignore файл со списком игнорируемых файлов для git composer.json - файл конфигураций композера init - скрипт инициализации окружения web-приложения init.bat - тоже самое, но для Windows requirements.php - скрипт проверки зависимостей Yii framework 2 yii - файл запуска консольного приложения yii.bat - тоже самое, но для Windows
Как видим, данная структура подразумевает указание различных хостов для frontend и backend (webroot для них будет /path/to/yii-application/frontend/web
и /path/to/yii-application/backend/web
соответственно). Кроме того, она дает следующие преимущества:
- у каждого разработчика есть свои конфигурации;
- пароли к БД и API-ключи не попадую в репозиторий;
- есть различные окружения (development, testing, production), которые имееют различные конфигурационные файлы.
Стоит заметить, что в директории config фронтэнда, бэкэнда или консольного приложения могут содержаться файлы с суффиксом -local
. Например, params-local.php
. Это локальные файлы конфигураций, которые не должны попасть в git-репозиторий.
Ниже представлена схема приоритетов загрузки конфигурационных файлов приложения yii2 advanced: