Yaf_Router::getCurrentRoute
(Yaf >=1.0.0)
Yaf_Router::getCurrentRoute — Obtener el nombre de la ruta efectiva
Descripción
public string Yaf_Router::getCurrentRoute
( void
)
Obtiene el nombre de la ruta efectiva del proceso de enrutamiento.
Nota:
Se debería llamar a este método después de que finalice el proceso de enrutamiento, ya que si se hace antes, este método devolverá siempre
NULL.
Parámetros
Esta función no tiene parámetros.
Valores devueltos
Una cadena, el nombre de la ruta efectiva.
Ejemplos
Ejemplo #1 Registrar algunas rutas en el Arranque
<?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();
$rewrite_route = new Yaf_Route_Rewrite(
"/product/list/:page",
array(
"controller" => "product",
"action" => "list",
)
);
$regex_route = new Yaf_Route_Rewrite(
"#^/product/info/(\d+)",
array(
"controller" => "product",
"action" => "info",
)
);
$router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
}
/**
* registrar un complemento
*/
public function __initPlugins(Yaf_Dispatcher $dispatcher) {
$dispatcher->registerPlugin(new DummyPlugin());
}
?>
Ejemplo #2 Complemento Dummy.php (bajo application.directory/plugins)
<?php
class DummyPlugin extends Yaf_Plugin_Abstract {
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
}
?>
?>
El resultado del ejemplo sería algo similar a:
/* para http://yourdomain.com/product/list/1 * DummyPlugin imprimirá: */ string(7) "rewrite" /* para http://yourdomain.com/product/info/34 * DummyPlugin imprimirá: */ string(5) "regex" /* para otros URIs solicitados * DummyPlugin imprimirá: */ string(8) "_default"
Ver también
- Yaf_Bootstrap_Abstract
- Yaf_Plugin_Abstract
- Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador