![]() |
|
The symfony Reference BookLe fichier de configuration routing.yml |
|
You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.
class url params param options requirements type sfRoute sfRequestRoute sf_method sfObjectRoute model type method allow_empty convert sfPropelRoute method_for_criteria sfDoctrineRoute method_for_query sfRouteCollection sfObjectRouteCollection model actions module prefix_path column with_show segment_names model_methods requirements with_wildcard_routes route_class collection_actions object_actions sfPropelRouteCollection sfDoctrineRouteCollection~ 
|
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. |
Le fichier de configuration routing.yml permet la définition des routes.
Le fichier de configuration principal routing.yml peut être trouvé dans
le répertoire apps/APP_NAME/config/.
Le fichier de configuration routing.yml contient une liste de définitions de route
nommées :
ROUTE_1: # definition de la route 1 ROUTE_2: # definition de la route 2 # ...
Quand une requête arrive, le système de routage essaie de faire correspondre une route à une URL entrante. La première route qui correspond gagne, ainsi l'ordre dans lequel les routes sont définies dans le fichier de configuration est important.
Lorsque le fichier de configuration routing.yml est lu, chaque route est convertie en
un objet de la classe class :
ROUTE_NAME: class: CLASS_NAME # configuration si la route
Le nom class doit étendre la classe de base sfRoute. S'il n'est pas fourni, la
classe de base sfRoute est utilisée comme solution de repli.
Le fichier de configuration
routing.ymlest mis en cache dans un fichier PHP; le processus est automatiquement géré par la classesfSecurityConfigHandler.
Le fichier de configuration routing.yml supporte plusieurs paramètres pour configurer
d'avantages les routes. Ces paramètres sont utilisé par la classe
sfRoutingConfigHandler pour convertir chaque route en un objet.
classPar défaut : sfRoute (ou sfRouteCollection si type est à collection, voir ci-dessous)
Le paramètre class permet de modifier la classe de la route pour utiliser la route.
urlPar défaut : /
Le paramètre url est le modèle qui doit correspondre à une URL entrante pour la route
pour être utilisée par la requête courante.
Le modèle est constitué de segments :
:)*) pour correspondre à une séquence de paire clé/valeurChaque segment doit être séparé par un des séparateurs prédéfinis
(/ ou . par défaut).
paramsPar défaut : Un tableau vide
Le paramètre params définit un tableau de paramètres associé avec la route.
Ils peuvent être des valeurs par défaut pour les variables contenues dans url, ou toute
autre variable pertinente pour cette route.
paramPar défaut : Un tableau vide
Ce paramètre est équivalent au paramètre params.
optionsPar défaut : Un tableau vide
Le paramètre options est un tableau d'options qui seront transmis à l'objet route
pour personnaliser encore plus son comportement. Les sections suivantes décrivent les
options disponibles pour chaque classe route.
requirementsPar défaut : Un tableau vide
Le paramètre requirements est un tableau de conditions qui doivent être satisfaits par
les variables de url. Les clés sont les variables d'url et les valeurs sont des
expressions régulières dont les valeurs des variables doivent correspondre.
L'expression régulière sera inclus dans une autre expression régulière, et de ce fait, vous n'avez pas besoin de les envelopper entre des séparateurs, ni les lier avec
^ou$pour correspondre à la valeur complète.
typePar défaut : null
Si sa valeur est collection, la route sera lue comme une collection de route.
Ce paramètre est automatiquement réglé sur
collectionpar la classe de gestionnaire configuration si le nom declasscontient le motCollection. Cela signifie que la plupart du temps, vous n'avez pas besoin d'utiliser ce paramètre.
sfRouteToutes les classes de route étendent la classe de base sfRoute, qui fournit les
paramètres requis pour configurer une route.
sfRequestRoutesf_methodPar défaut : get
L'option sf_method est utilisée dans le tableau requirements. Il fait appliquer
la requête HTTP dans la route correspondante au processus.
sfObjectRouteToutes les options suivantes de sfObjectRoute doivent être utilisées dans le paramètre
options du fichier de configuration routing.yml.
modelL'option model est obligatoire et elle est le nom de la classe du modèle pour être
associée avec la route courante.
typeL'option type est obligatoire et elle est le type de route que vous voulez pour votre
modèle. Il peut être soit object ou list. Une route de type object
réprésente un unique objet du modèle, et une route de type list représente une
collection d'objets du modèle.
methodL'option method est obligatoire. C'est la méthode qui fait appel à la classe du modèle pour
retourner le(s) objet(s) associé(s) avec la route. Cela doit être une méthode
'static'. La méthode est appelée avec les paramètres de la route analysée comme
argument.
allow_emptyPar défaut : true
Si l'option allow_empty est à false, la route lèvera une exception
404 si aucun objet n'est retourné par l'appel de la method du model.
convertPar défaut : toParams
L'option convert est une méthode à appeler pour convertir un objet du modèle vers un tableau
de paramètres appropriés pour générer une route en fonction de cet objet du modèle. Elle
doit retournée un tableau avec au moins les paramètres nécessaires de la structure
de la route (comme défini par le paramètre url).
sfPropelRoutemethod_for_criteriaPar défaut : doSelect pour les collections, doSelectOne pour les objets unique
L'option method_for_criteria définit la méthode appelée sur la classe Peer
du modèle pour récupérer le(s) objet(s) associé(s) à la requête courante.
La méthode est appelée avec les paramètres de la route analysée comme un argument.
sfDoctrineRoutemethod_for_queryPar défaut : none
L'option method_for_query définit la méthode appelée sur la classe Peer
du modèle pour récupérer le(s) objet(s) associé(s) à la requête courante. L'objet de
la query courante est passé comme un argument.
Si l'option n'est pas définie, la requête est simplement «exécutée» par la méthode
execute().
sfRouteCollectionLa classe de base sfRouteCollection représente une collection de routes.
sfObjectRouteCollectionmodelL'option model est obligatoire et elle a le nom de la classe modèle pour être
associée avec la route courante.
actionsPar défaut : false
L'option actions définit un tableau d'actions autorisés pour le route. Les
actions doivent être un sous-ensemble de toutes les actions disponibles : list, new, create,
edit, update, delete, et show.
Si l'option est définie à false, la valeur par défaut, toutes les actions seront disponibles,
sauf pour celle de show si l'option with_show est définie à false (voir
ci-dessous).
modulePar défaut : Le nom de la route
L'option module définit le nom du module.
prefix_pathPar défaut : / suivi par le nom de la route
L'option prefix_path définit un préfixe à ajouter avant toutes les modèles d'url. Cela
peut être n'importe quel modèle valable et peut contenir des variables et plusieurs segments.
columnPar défaut : id
L'option column définit la colonne du modèle à utiliser comme unique
identifiant pour l'objet du modèle.
with_showPar défaut : true
L'option with_show est utilisée lorsque l'option actions est à false pour
déterminer si l'action show doit être incluse dans la liste des actions
autorisées pour la route.
segment_namesPar défaut : array('edit' => 'edit', 'new' => 'new'),
Le segment_names définit les mots à utiliser dans les modèles url pour
les actions edit et new.
model_methodsPar défaut : Un tableau vide
L'option model_methods définit les méthodes à appeler pour récupérer le(s)
objet(s) à partir du modèle (voir l'option de method de sfObjectRoute). Ceci est
en réalité un tableau définissant les méthodes list et object.
model_methods: list: getObjects object: getObject
requirementsPar défaut : \d+ pour column
L'option requirements définit un tableau de conditions à appliquer aux
variables de route.
with_wildcard_routesPar défaut : false
L'option with_wildcard_routes permet à toute action d'être accessible par deux
routes : une pour un seul objet, et une autre pour les collections d'objets.
route_classPar défaut : sfObjectRoute
L'option route_class peut surchargée l'objet par défaut de la route utilisé pour une
collection.
collection_actionsPar défaut : Un tableau vide
L'option collection_actions définit un tableau d'actions supplémentaires
disponibles pour les routes de collection. Les clés sont les noms de l'action et les
valeurs sont les méthodes valide pour l'action :
articles:
options:
collection_actions: { filter: post, filterBis: [post, get] }
# ...
object_actionsPar défaut : Un tableau vide
L'option object_actions définit un tableau d'actions supplémentaires disponibles
pour les routes d'objet. Les clés sont les noms de l'action et les
valeurs sont les méthodes valide pour l'action :
articles:
options:
object_actions: { publish: put, publishBis: [post, put] }
# ...
sfPropelRouteCollectionLa classe de route sfPropelRouteCollection étend sfRouteCollection, et
change la classe de route par défaut par sfPropelRoute (voir l'option route_class
ci-dessus).
sfDoctrineRouteCollection~La classe de route sfDoctrineRouteCollection étend sfRouteCollection,
et change la classe de route par défaut par sfDoctrineRoute (voir
l'option route_class ci-dessus).
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.