Il file di configurazione cache.yml descrive la configurazione della cache per il
livello della vista. Questo file di configurazione è attivo solo se l'impostazione
cache è abilitata in settings.yml.
tip
La configurazione della classe usata per la cache e
le sue configurazioni associate sono spiegate nelle sezioni
view_cache_manager e
view_cache del file di
configurazione factories.yml.
Quando un'applicazione viene creata, symfony genera un file predefinito cache.yml
nella cartella dell'applicazione config/, che descrive la cache per l'intera
applicazione (sotto la chiave default). Nella modalità predefinita, la cache è
globalmente assegnata a false:
default: enabled: false with_layout: false lifetime: 86400
tip
Dal momento che l'impostazione enabled è assegnata a false nella modalità predefinita,
è necessario abilitare la cache selettivamente. Si può anche lavorare in questo altro modo:
abilitare la cache globalmente, dopodiché disabilitarla su pagine specifiche che
non possono essere messe in cache. L'approccio migliore dovrebbe dipendere da quale dei due metodi
necessita di meno lavoro per l'applicazione.
Come discusso in sede di introduzione, il file cache.yml trae benefici dal
meccanismo di configurazione a cascata,
e può includere costanti.
note
Il file di configurazione cache.yml è memorizzato nella cache come file PHP; il
processo è gestito automaticamente dalla classe
sfCacheConfigHandler.
La configurazione predefinita dell'applicazione può essere sovrascritta per un modulo, con
la creazione di un file cache.yml nella cartella config/ del modulo. Le chiavi
principali sono nomi di azioni senza il prefisso execute (ad esempio index per il
metodo executeIndex). Anche un partial o un componente possono essere messi in cache,
utilizzando il nome con un prefisso di sottolineatura (_).
Per determinare se un'azione è messa in cache o no, symfony cerca le informazioni nel seguente ordine:
una configurazione per una specifica azione, partial o componente nel file di configurazione del modulo, se esiste;
una configurazione per un intero modulo nel file di configurazione del modulo, se esiste (sotto la chiave
all);la configurazione predefinita dell'applicazione (sotto la chiave
default).
caution
Una richiesta in arrivo con parametri GET nella stringa di richiesta o
inviata con il metodo POST, PUT o DELETE non sarà mai messa
in cache da symfony, indipendentemente dalla configurazione.
enabled
Predefinito: false
L'impostazione enabled abilita o disabilita la cache per l'ambito corrente.
with_layout
Predefinito: false
L'impostazione with_layout determina se la cache deve essere per l'intera
pagina (true), o solo per l'azione (false).
note
L'opzione with_layout non è presa in considerazione per la cache di
partial e componenti, in quanto non possono essere decorati da un layout.
lifetime
Predefinito: 86400
L'impostazione lifetime definisce il ciclo di vita lato server della cache, in
secondi (86400 secondi equivalgono a un giorno).
client_lifetime
Predefinito: Stesso valore di lifetime
L'impostazione client_lifetime definisce il ciclo di vita lato client della cache, in
secondi.
Questa impostazione è usata per assegnare automaticamente l'header Expires e la
variabile di controllo cache max-cache, a meno che gli header Last-Modified
o Expires non siano già stati assegnati.
È possibile disabilitare la cache lato client assegnando il valore 0.
contextual
Predefinito: false
L'impostazione contextual determina se la cache dipende dal corrente contesto
di pagina o no. L'impostazione quindi è significativa solo quando usata per
partial e componenti.
Quando l'output di un partial è diverso in base al template in cui è
incluso, il partial è detto contestuale e l'impostazione contextual
deve essere assegnata a true. Il valore predefinito è assegnato a false, il che significa
che l'output per partial e componenti è sempre lo stesso, dovunque
siano inclusi.
note
La cache rimarrà ovviamente diversa per un diverso insieme di parametri.
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.