Ответ 1
Скорее всего, вы проигнорируете папку с окружением, если у вас нет особой необходимости в противном случае.
Весь ваш код должен войти в папки common
, frontend
, console
или backend
. common
appart, это доступные по умолчанию точки входа в приложение, где вы поместите логику контроллера. Вы, очевидно, не должны использовать их все, просто используя frontend
может хватить в зависимости от вашей конкретной потребности.
Но опять же, если вы выбрали продвинутый шаблон, возможно, использовать комбинацию. Например, common
, backend
и frontend
Папка окружения
Папки среды соответствуют параметрам, которые у вас есть при запуске ./init
. Это можно назвать:
- 0) Разработка
- 1) Производство
Они содержат все файлы, которые редактируются и/или добавляются при запуске команды ./init
. К ним относятся все файлы, которые игнорируются (и поэтому никогда не создаются) с помощью VCS (git).
Мы говорим о файлах вроде файлов * - local.php, которые по очевидным причинам никогда не должны быть версиями. Но также сценарии ввода, которые меняются в зависимости от среды, которую вы инициализируете. Например, вы хотите отлаживать и выходить из системы в процессе производства, но в процессе разработки. Это то, что вы не можете настроить на уровне файла конфигурации, поскольку они должны быть установлены до того, как макет приложения Yii или что вы просто знаете, должен быть установлен по умолчанию каждый раз, когда среда инициализируется.
Можно представить себе добавление другой среды под названием pre-production, например, которая будет инициализировать ваше приложение точно так же, как производственная среда, кроме включенного ведения журнала. Для этого вы скопировали папку environments/prod
, измените сценарии записи на свои нужды и добавите опцию в environments/index.php
.
./init
нужно запускать только один раз после клонирования ветки. Если вы большой на CI, то вашему CI-серверу, возможно, потребуется запустить ./init
script при каждом запуске. Это может зависеть от того, как вы его настроили. Вам нужно будет запустить его снова, если вы внесли изменения в папки окружения, которые вы хотите применить.
общий, консоль и * концы
Это вы, наверное, уже знаете, но просто заставляете кого-то задаваться вопросом.
- common: содержит логику, общую для всего вашего приложения, из файлов конфигурации в модели
- интерфейс: все, что относится к вашему интерфейсу веб-интерфейса, также может иметь собственные модели и т.д.
- backend: тот же, что и выше, но допускает раздельную логику между интерфейсом и бэкэнд-приложением. Консоль
- : для доступа к вашему приложению через командную строку с помощью
./yii controller/action
Обычно это происходит там, где происходит вся магия, нет необходимости дублировать код.