Переношу сайт Yii2 Advanced на рабочий домен, разумеется надо перевести сайт в продакшен-режим - чтобы детальные ошибки не отражались. И уже пол дня разбираюсь в 100500 конфигах этого Yii2 Advanced. Почему разработчики их столько накрутили? Почему разработчики Laravel обошлись одним, а в Yii2 их 100500?
по крайней мере все в одной папке, а в Yii2 advanced: common/config/* backend/config/* frontend/config/* И еще всякие main.php main-local.php и прочие полу-дубли. Поди во всем разберись
Прочитай пожалуйста еще раз заголовок. Там нет упоминаний Laravel. Меня бы устроил ответ в формате "Да, Laravel обходится одним файлом настроек, но мы сделали по-другому по таким-то и таким причинам."
Laravel НЕ обходится одним файлом настроек, более того, они разрастаются с каждым новым пакетом. В Laravel, с пятой версии, для определения параметром специфичных окружению используется ENV-файл, до этого сборка конфигурации работала примерно так же как и в YII. В любом случае, происходит тоже самое, только иным способом. Какой вариант лучше - не знаю, т.к. в каждом случае есть свои минусы и плюсы, но принципиальной разницы нет. --- Добавлено --- хм... давайте дружно призовем @SamDark к ответу! Саня, ты когда env запилишь? Народ негодует ))
@Walk, концепция advanced-приложения такова и описана @SamDark в документации очень подробно. advanced-приложение - это два приложения в одном, бекэнд там рассматривается как отдельное приложение, фронт - как отдельное. И у них может быть общая часть. Поэтому и три папки с конфигами - общие конфиги, конфиги, относящиеся только к беку и только к фронту. Кстати, использование env есть в планах на версию Yii 2.1, в которой они слегка обратную совместимость сломать собираются, насколько я понял. Не нравится - ну либо использовать basic-шаблон (кстати, чаще всего им и пользуюсь, advanced - это для очень сложных приложений, где и очень сложный бэк, и очень сложный фронт, для чего-нибудь не слишком большого не оправдано). Ну или писать на ларке. Вот кстати меня удивляет, что у меня не получается разогнать Laravel до той скорости, с которой работает Yii2, при том, что концептуально Laravel мне нравится всё больше. Но при одинаковой сложности проектов, время серверной отработки на Laravel значительно выше, причём, судя по Debug Bar, основное время тратится на Bootstraping. Причём, у меня проекта yii2 с включённым дебагом работают быстрее, чем Laravel с выключенным. --- Добавлено --- https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/structure-environments.md - вот же, на человеческом английском всё описано. Local-файлы - для зависимой от среды конфигурации,такой как конфиги БД.