Le fichier de configuration filters.yml
Le fichier de configuration ~filters.yml
~ décrit la chaine de filtre à exécuter pour chaque requête.
Le fichier principal de configuration filters.yml
pour une application peut être trouvé dans le répertoire apps/APP_NAME/config/
.
Comme indiqué dans l'introduction, le fichier filters.yml
bénéficie du mécanisme de configuration en cascade et peut inclure des constantes.
Le fichier de configuration filters.yml
contient une liste de définitions de filtre nommé :
---
FILTER_1:
# Définition du filtre 1
FILTER_2:
# Définition du filtre 2
# ...
Lorsque le contrôleur initialise la chaîne de filtre pour une requête, il lit le fichier filters.yml
et enregistre les filtres en recherchant le nom de la classe du filtre (class
) et les paramètres (param
) utilisés pour configurer l'objet du filtre :
---
FILTER_NAME:
class: CLASS_NAME
param: { ARRAY OF PARAMETERS }
Les filtres sont exécutés dans le même ordre où elles apparaissent dans le fichier de configuration. Comme symfony exécute les filtres comme une chaîne, le premier filtre enregistré est exécuté en premier et en dernier.
Le nom de class
étend la classe de base sfFilter
.
Si la classe filtre ne peut pas être chargées automatiquement, un chemin file
peut être défini et sera automatiquement inclus avant la création de l'objet du filtre :
---
FACTORY_NAME:
class: CLASS_NAME
file: ABSOLUTE_PATH_TO_FILE
Lorsque vous surchargez le fichier filters.yml
, vous devez conserver tous les filtres du fichier de configuration hérité :
---
rendering:
security:
cache:
execution:
Pour supprimer un filtre, vous devez le désactiver en réglant la clé enabled
sur false
:
---
FACTORY_NAME:
enabled: false
Il y a deux noms spéciaux pour les filtres : rendering
et execution
. Ils sont obligatoires et sont identifiés par le paramètre type
. Le filtre rendering
doit toujours être identifié comme premier filtre et le filtre execution
devrait être le dernier :
---
rendering:
class: sfRenderingFilter
param:
type: rendering
# ...
execution:
class: sfExecutionFilter
param:
type: execution
Le fichier de configuration
filters.yml
est mis en cache dans un fichier PHP, le processus est automatiquement géré par la classe ~sfFilterConfigHandler
~.
Filters
rendering
Configuration par défaut :
---
rendering:
class: sfRenderingFilter
param:
type: rendering
Le filtre rendering
est responsable de la sortie de la réponse au navigateur. Comme il est doit être le premier filtre déclaré, il est aussi le dernier à avoir une chance de gérer la requête.
security
Configuration par défaut :
---
security:
class: sfBasicSecurityFilter
param:
type: security
Le filtre security
vérifie la sécurité en appelant la méthode getCredential()
de l'action. Une fois que le credential a été acquis, il vérifie que l'utilisateur a le même credential en appelant la méthode hasCredential()
de l'objet utilisateur.
Le filtre security
doit avoir un type security
.
Une configuration plus fine du filtre de sécurité est faite via le fichier de configuration security.yml
.
Si l'action demandée n'est pas configuré comme sécurisée dans
security.yml
, le filtre de sécurité ne sera pas exécuté.
cache
Configuration par défaut :
---
cache:
class: sfCacheFilter
param:
condition: %SF_CACHE%
Le filtre cache
gère la mise en cache pour les actions et les pages. Il est également responsable de l'ajout des entêtes cache HTTP nécessaires à la réponse (Last-Modified
, ETag
, Cache-Control
, Expires
, ...).
execution
Configuration par défaut :
---
execution:
class: sfExecutionFilter
param:
type: execution
Le filtre execution
est au centre de la chaîne des filtres et fait tout l'action et l'exécution de vue.
Le filtre execution
doit être le filtre déclaré en dernier.
インデックス
Document Index
関連ページリスト
Related Pages
- Introduction
- Le format YAML
- Principes des fichiers de configuration
- Le fichier de configuration settings.yml
- Le fichier de configuration factories.yml
- Le fichier de configuration generator.yml
- Le fichier de configuration databases.yml
- Le fichier de configuration security.yml
- Le fichier de configuration cache.yml
- Le fichier de configuration routing.yml
- Le fichier de configuration app.yml
- Le fichier de configuration filters.yml
- Le fichier de configuration view.yml
- Autres fichiers de configuration
- Evénements
- Les tâches
- Annexe A - Licence
日本語ドキュメント
Japanese Documents
- 2011/01/18 Chapter 17 - Extending Symfony
- 2011/01/18 The generator.yml Configuration File
- 2011/01/18 Les tâches
- 2011/01/18 Emails
- 2010/11/26 blogチュートリアル(8) ビューの作成