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.ymlest 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) ビューの作成
リリース情報
Release Information
- 2.0 : 2.0.10(2011/02/06)
Symfony2日本語ドキュメント - 1.4 : 1.4.16(2011/12/13)
Changelog
