(Yaf >=1.0.0)
Yaf_Route_Rewrite::__construct — Constructeur Yaf_Route_Rewrite
match
Un masque, qui sera utilisé pour correspondre à l'URI d'une requête ;
s'il ne correspond pas, Yaf_Route_Rewrite
retournera false.
Il est possible d'utiliser le style :name pour nommer les segments correspondants, et * pour correspondre au reste des segments de l'URL.
routeLorsque le masque correspond à l'URI de la requête, Yaf_Route_Rewrite utilisera ce paramètre pour déterminer quels module/contrôleur/action sont la destination.
Chacun des éléments module/contrôleur/action de ce tableau est optionnel ; si aucune valeur spécifique n'est assignée, la route par défaut sera utilisée.
verify
Exemple #1 Exemple avec Yaf_Route_Rewrite
<?php
/**
* Ajoute une route de réécriture à la pile de routes de Yaf_Router
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Rewrite(
"/product/:name/:id/*", //correspond aux URI de requête commençant par "/product"
array(
'controller' => "product", //route vers le contrôleur product,
),
)
);
?>Résultat de l'exemple ci-dessus est similaire à :
/* pour http://yourdomain.com/product/foo/22/foo/bar * la route donnera les valeurs suivantes : */ array( "controller" => "product", "module" => "index", //(par défaut) "action" => "index", //(par défaut) ) /** * et les paramètres de requête : */ array( "name" => "foo", "id" => 22, "foo" => bar )
Exemple #2 Exemple avec Yaf_Route_Rewrite
<?php
/**
* Ajoute une route de réécriture à la pile de routes de Yaf_Router en appelant addconfig
*/
$config = array(
"name" => array(
"type" => "rewrite", //route Yaf_Route_Rewrite
"match" => "/user-list/:id", //correspond uniquement à /user/list/?/
"route" => array(
'controller' => "user", //route vers le contrôleur user,
'action' => "list", //route vers l'action list
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>Résultat de l'exemple ci-dessus est similaire à :
/* pour http://yourdomain.com/user-list/22 * la route donnera les valeurs suivantes : */ array( "controller" => "user", "action" => "list", "module" => "index", //(par défaut) ) /** * et les paramètres de requête : */ array( "id" => 22, )
Exemple #3 Exemple avec Yaf_Route_Rewrite (à partir de 2.3.0)
<?php
/**
* Ajoute une route de réécriture utilisant le résultat de la correspondance comme nom m/c/a
*/
$config = array(
"name" => array(
"type" => "rewrite",
"match" => "/user-list/:a/:id", //correspond uniquement à /user-list/*
"route" => array(
'controller' => "user", //route vers le contrôleur user,
'action' => ":a", //route vers l'action :a
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>Résultat de l'exemple ci-dessus est similaire à :
/* pour http://yourdomain.com/user-list/list/22 * la route donnera les valeurs suivantes : */ array( "controller" => "user", "action" => "list", "module" => "index", //(par défaut) ) /** * et les paramètres de requête : */ array( "id" => 22, )