(Yaf >=1.0.0)
Yaf_Router::getCurrentRoute — Obtener el nombre de la ruta efectiva
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
.
Esta función no tiene parámetros.
Una cadena, el nombre de la ruta efectiva.
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"