(PECL yaf >=1.0.0)
Yaf_Route_Regex::__construct — Le but __construct
$match
, array $route
[, array $map
[, array $verify
]] )
Cette fonction n'est pas documentée et seule la liste des arguments est disponible.
match
Un masque de Regex complet à utiliser pour y faire correspondre
une requête URI ; si aucune correspondance n'est trouvée,
Yaf_Route_Regex retournera FALSE
.
route
Lorsque le masque trouve une correspondance dans la requête URI, Yaf_Route_Regex utilisera ce paramètre pour décider quel m/c/a doit être routé.
Les éléments du tableau m/c/a sont optionnels ; si vous n'assignez pas de valeurs spécifiques à ces éléments, ils seront routés vers la route par défaut.
map
Un tableau permettant d'assigner les noms aux éléments trouvés via le masque.
verify
Exemple #1 Exemple avec Yaf_Route_Regex()
<?php
/**
* Ajoute une route Regex à la pile de routes Yaf_Router
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#", //correspond à la requête URI "/product"
array(
'controller' => "product", //route vers le controlleur produit,
),
array(
1 => "name", // maintenant, vous pouvez appeler $request->getParam("name")
2 => "id", // pour récupérer la première capture du masque.
)
)
);
?>
Exemple #2 Exemple avec Yaf_Route_Regex()
<?php
/**
* Ajoute une route Regex à la pile de routes Yaf_Router en appelant addconfig
*/
$config = array(
"name" => array(
"type" => "regex", //la route Yaf_Route_Regex
"match" => "#(.*)#", //correspondance arbitraire à la requête URI
"route" => array(
'controller' => "product", //route vers le controlleur produit,
'action' => "dummy", //route pour l'action dummy
),
"map" => array(
1 => "uri", // maintenant, vous pouvez appeler $request->getParam("uri")
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>