(PECL yaf >=1.0.0)
Yaf_Router::addRoute — Añadir una nueva ruta al Enrutador
$name
, Yaf_Route_Abstract $route
)Por defecto, Yaf_Router usa un Yaf_Route_Static como su ruta predeterminada. Se pueden añadir nuevas rutas a la pila de rutas del Enrutador llamando a este método.
La ruta más nueva será llamada antes que la más antigua (pila de rutas), y si la ruta más nueva devuelve
TRUE
, el proceso de enrutamiento finalizará. De otro modo, será llamada la ruta más
antigua.
Esta función no tiene parámetros.
Ejemplo #1 Ejemplo de 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();
/**
* podemos añadir algunas rutas predefinidas en application.ini
*/
$router->addConfig(Yaf_Registry::get("config")->routes);
/**
* add a Rewrite route, then for a request uri:
* http://***/product/list/22/foo
* will be matched by this route, and result:
*
* [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);
}
?>