2012-06-05 13 views
9

Ho letto molto sul comando di cache chiaro per Symfony2, ma ho questa domanda:Symfony2, Come cambiare l'ambiente?

È php app/console cache:clear --env=prod con --env, cambia l'ambiente o semplicemente pulire la cache per tale ambiente?

Se solo cancellare la cache per tale ambiente, allora che cosa è questa linea significa in app.php:

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

Credo che quando voglio usare Ambiente Symfony2 Produzione Devo cambiare quella linea a

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

Sono nel posto giusto?

risposta

16

I due argomenti del costruttore per Symfony\Component\HttpKernel\Kernel sono $environment e $debug.

Quindi, per rispondere direttamente alla tua domanda, app.php utilizza già l'ambiente di produzione. Si noterà che app_dev.php un'istanza del kernel come questo

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

Così, il nome dell'ambiente che si passa alle mappe costruttore kernel per il nome dell'ambiente usereste in comandi della console (ad esempio, la --env).

Questo lo chiarisce?

+0

volevo dire se voglio usare ambiente di produzione in termini di utenti (nel Browser), ho a disposizione '$ kernel = new AppKernel ('prod', true);', giusto? Clear Cache non cambierà l'ambiente! Corretta? – PMoubed

+0

No, l'ambiente è determinato dal front controller in uso - che è ** app.php ** per impostazione predefinita. Ciò che intendo è che 'site.com/route' è analogo a' site.come/app.php/route' dove ** app.php ** è il front controller in uso. Se volessi passare al front controller di sviluppo, il tuo URL sarebbe simile a 'site.com/app_dev.php/route'. Ha senso? http://symfony.com/doc/current/book/http_fundamentals.html#the-front-controller –

+0

Penso che il secondo argomento (il valore booleano) si riferisce a se l'ambiente deve essere eseguito con debug abilitato o disabilitato – DesirePRG

6

Per modificare l'ambiente, è necessario modificare il controller anteriore. Symfony2 fornisce per impostazione predefinita tre ambienti e un front controller per ognuno di essi con uno specifico file di configurazione>See more

Quando si esegue il comando cache: clear per un ambiente specifico, si limita a svuotare la cache per l'ambiente specificato. Per cambiare il vostro ambiente, hai appena di cambiare il vostro front controller (app.php/app_dev.php/app_test.php)

È inoltre possibile create new environments with a specific configuration