(PECL 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 está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
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"