(PECL yaf >=1.0.0)
Yaf_Router::addRoute — Ajoute une nouvelle route dans un routeur
Par défaut, Yaf_Router utilise une instance de la classe Yaf_Route_Static comme route par défaut. Vous pouvez ajouter de nouvelles routes dans la pile des routes du routeur en appelant cette méthode.
La nouvelle route sera appelé avant l'ancien de la pile de routes, et si la nouvelle
route retourne TRUE
, le processus du routeur s'arrêtera. Sinon, la ou les anciennes
anciennes routes de la pile seront appelées.
Cette fonction n'est pas documentée et seule la liste des arguments est disponible.
Cette fonction ne contient aucun paramètre.
Exemple #1 Exemple avec Yaf_Dispatcher::autoRender()
<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}
public function _initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
/**
* Nous pouvons ajouter des routes définies dans le fichier de
* configuration application.ini
*/
$router->addConfig(Yaf_Registry::get("config")->routes);
/**
* ajoute une route de réécriture, matchant la requête
* http://***/product/list/22/foo et dont le résultat sera :
*
* [module] =>
* [controller] => product
* [action] => info
* [method] => GET
* [params:protected] => Array
* (
* [id] => 22
* [name] => foo
* )
*
*/
$route = new Yaf_Route_Rewrite(
"/product/list/:id/:name",
array(
"controller" => "product",
"action" => "info",
)
);
$router->addRoute('dummy', $route);
}
?>