(Yaf >=1.0.0)
Get the effective route name
public string Yaf_Router::getCurrentRoute ( void )
Get the name of the route which is effective in the route process.
Note:
You should call this method after the route process finished, since before that, this method will always return
NULL
.
Returns:
String, the name of the effective route.
Examples:
Register some routes in Bootstrap
<?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); } /** * register plugin */ public function __initPlugins(Yaf_Dispatcher $dispatcher) { $dispatcher->registerPlugin(new DummyPlugin()); } ?>
plugin Dummy.php (under 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()); } ?> ?>
The above example will output something similar to:
/* for http://yourdomain.com/product/list/1 * DummyPlugin will output: */ string(7) "rewrite" /* for http://yourdomain.com/product/info/34 * DummyPlugin will output: */ string(5) "regex" /* for other request URI * DummyPlugin will output: */ string(8) "_default"
See also:
Please login to continue.