(PECL yaf >=1.0.0)
Yaf_Router::getCurrentRoute — Get the effective route name
Get the name of the route which is effective in the route process.
Informacja:
You should call this method after the route process finished, since before that, this method will always return NULL.
Ta funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jej argumentów.
Ta funkcja nie posiada parametrów.
String, the name of the effective route.
Przykład #1 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());
}
?>
Przykład #2 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());
}
?>
?>
Powyższy przykład wyświetli coś podobnego do:
/* 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"