The symfony Reference Book

Il File di Configurazione filters.yml

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

Filtri

rendering

security

cache

common

execution

symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Reference Book" in Italian for the 1.2 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

Il file di configurazione filters.yml descrive la catena di filtri da eseguire per ogni richiesta.

Il file di configurazione principale filters.yml per un'applicazione può essere trovato nella cartella apps/NOME_APP/config/.

Come accennato nell'introduzione, il file filters.yml trae benefici dal meccanismo di configurazione a cascata e può includere delle costanti.

Il file di configurazione filters.yml contiene una lista di definizioni di filtri con nome:

FILTRO_1:
  # definizione del filtro 1
 
FILTRO_2:
  # definizione del filtro 2
 
# ...

Quando il controllore inizializza la catena dei filtri per una richiesta, legge il file filters.yml e registra i filtri, cercando il nome della classe del filtro (class) e i parametri (param) da usare per configurare l'oggetto filtro:

NOME_DEL_FILTRO:
  class: NOME_DELLA_CLASSE
  param: { ARRAY DI PARAMETRI }

I filtri sono eseguiti nello stesso ordine con cui appaiono nel file di configurazione. Siccome symfony esegue i filtri in catena, il primo filtro è eseguito all'inizio e alla fine.

La classe class dovrebbe estendere la classe base sfFilter.

Se la classe del filtro non può essere caricata automaticamente, si può definire un percorso file, che verrà incluso prima della creazione dell'oggetto:

NOME_DEL_FACTORY:
  class: NOME_DELLA_CLASSE
  file:  PERCORSO_ASSOLUTO_DEL_FILE

Quando si sovrascrive il file `filters.yml, occorre mantenere tutti i filtri ereditati dal file di configurazione:

rendering: ~
security:  ~
cache:     ~
common:    ~
execution: ~

Per togliere un filtro, occorre disabilitarlo impostando la chiave enabled a false:

NOME_DEL_FACTORY:
  enabled: false

Ci sono due nomi speciali di filtri: rendering e execution. Entrambi sono obbligatori e sono identificati dal parametro type. Il filtro rendering dovrebbe essere sempre il primo registrato ed il filtro execution dovrebbe essere sempre l'ultimo:

rendering:
  class: sfRenderingFilter
  param:
    type: rendering
 
# ...
 
execution:
  class:  sfExecutionFilter
  param:
    type: execution

Il file di configurazione filters.yml è messo in cache come file PHP; il processo è gestito automaticamente dalla classe sfFilterConfigHandler.

Filtri

rendering

Configurazione predefinita:

rendering:
  class: sfRenderingFilter
  param:
    type: rendering

Il filtro rendering si occupa dell'output della risposta inviata al browser. Essendo il primo filtro che dovrebbe essere registrato, è anche l'ultimo ad avere la possibilità di gestire la richiesta.

security

Configurazione predefinita:

security:
   class: sfBasicSecurityFilter
   param:
     type: security

Il filtro security verifica la sicurezza, richiamando il metodo getCredential() dell'azione. Una volta che le credenziali sono state acquisite, verifica che l'utente abbia le stesse credenziali, richiamando il metodo hasCredential() dell'oggetto user.

Il filtro security deve avere come tipo security.

Una configurazione più granulare del filtro security può essere fatta tramite il file di configurazione security.yml.

Se l'azione richiesta non è configurata come sicura in security.yml, il filtro security non sarà eseguito.

cache

Configurazione predefinita:

cache:
  class: sfCacheFilter
  param:
    condition: %SF_CACHE%

Il filtro cache gestisce la cache delle azioni e delle pagine. Inoltre si occupa di aggiungere i necessari header HTTP per la cache della risposta (Last-Modified, ETag, Cache-Control, Expires, ...).

common

Configurazione predefinita:

common:
  class: sfCommonFilter

Il filtro common aggiunge i tag per i JavaScript e i fogli di stile alla risposta principale, a meno che non siano già stati inclusi.

Se si usano gli helper include_stylesheets() e include_javascripts() nel layout, si può disabilitare tranquillamente questo filtro e beneficiare di un piccolo miglioramento di prestazioni.

execution

Configurazione predefinita:

execution:
  class:  sfExecutionFilter
  param:
    type: execution

Il filtro execution è al centro della catena dei filtri e si occupa dell'esecuzione di tutte le azioni e le viste.

Il filtro execution dovrebbe essere l'ultimo filtro registrato.

Il file di configurazione view.yml »
« Il file di configurazione app.yml

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.