Yaf_Router::getCurrentRoute

(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:

Yaf_Bootstrap_Abstract -

Yaf_Plugin_Abstract -

Yaf_Router::addRoute() -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.