(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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?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)
1 2 3 4 5 6 7 8 | <?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.