Symfony2, Как изменить среду?

Я много читал о команде clear cache для symfony2, но у меня есть этот вопрос:

Является ли php app/console cache:clear --env=prod с --env , изменяет среду или просто очищает кеш для этой среды?

Если только очистить кеш для этой среды, то что означает эта линия в app.php:

 $kernel = new AppKernel('prod', false); 

Я думаю, что когда я хочу использовать производственную среду Symfony2, мне нужно изменить эту строку на

 $kernel = new AppKernel('prod', true); 

Я в нужном месте?

Два аргумента конструктора для Symfony \ Component \ HttpKernel \ Kernel – это $environment и $debug .

Итак, чтобы ответить на ваш вопрос напрямую, app.php уже использует производственную среду. Вы заметите, что app_dev.php создает экземпляр ядра таким образом

 $kernel = new AppKernel('dev', true); 

Таким образом, имя среды, которое вы передаете конструктору ядра, сопоставляется с именем среды, которое вы используете в консольных командах (например, --env ).

Это ясно для вас?

Чтобы изменить среду, вы должны изменить передний контроллер. Symfony2 предоставляет по умолчанию три среды и фронт-контроллер для каждого из них с определенными конфигурационными файлами> Подробнее

Когда вы выполняете команду cache: clear для конкретной среды, она просто очищает кеш для данной среды. Чтобы изменить среду, вы должны просто изменить свой фронт-контроллер (app.php / app_dev.php / app_test.php)

Вы также можете создавать новые среды с определенной конфигурацией