2012-06-05 19 views
9

He leído mucho sobre el comando clear cache para Symfony2, pero tengo esta pregunta:Symfony2, ¿Cómo cambiar el entorno?

Es php app/console cache:clear --env=prod con --env, cambia el medio ambiente o simplemente limpiar la caché para ese entorno?

Si tan solo borrar la memoria caché para ese entorno, entonces ¿cuál es decir esta línea en app.php:

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

Creo que cuando quiero usar el Medio Ambiente Symfony2 Producción tengo que cambiar esa línea para

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

¿Estoy en el lugar correcto?

Respuesta

16

Los dos argumentos de constructor para Symfony\Component\HttpKernel\Kernel son $environment y $debug.

Por lo tanto, para responder a su pregunta directamente, app.php ya utiliza el entorno de producción. Se dará cuenta de que app_dev.php instancia el kernel como esto

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

Por lo tanto, el nombre del entorno que se pasa a los mapas del núcleo constructor al nombre del entorno en el que tendría que utilizar los comandos de consola (es decir, el --env).

¿Eso lo aclara?

+0

que quería decir que si quiero usar entorno de producción en términos de usuarios (en el navegador), tenemos para nosotros '$ kernel = new AppKernel ('prod', true);', ¿no? ¡Borrar caché no cambiará el entorno! ¿Correcto? – PMoubed

+0

No, el entorno está determinado por el controlador frontal en uso, que es ** app.php ** por defecto. Lo que quiero decir es que 'site.com/route' es análogo a' site.come/app.php/route' donde ** app.php ** es el controlador frontal que se usa. Si quisiera cambiar al controlador frontal dev, su URL se vería como 'site.com/app_dev.php/route'. ¿Tener sentido? http://symfony.com/doc/current/book/http_fundamentals.html#the-front-controller –

+0

Creo que el segundo argumento (el valor booleano) se refiere a si el entorno debe ejecutarse con la depuración habilitada o deshabilitada – DesirePRG

6

Para cambiar el entorno, debe cambiar el controlador frontal. Symfony2 proporciona de forma predeterminada tres entornos y un controlador frontal para cada uno de ellos con un archivo de configuración específico>See more

Cuando ejecuta caché: borra el comando para un entorno específico, simplemente borra el caché para el entorno determinado. Para cambiar su entorno, que acaba de cambiar su controlador frontal (app.php/app_dev.php/app_test.php)

También puede create new environments with a specific configuration

Cuestiones relacionadas