PHP 8.5.0 Alpha 2 available for testing

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRouteПолучает имя действующего маршрута

Описание

public Yaf_Router::getCurrentRoute(): string

Получает имя действующего маршрута.

Замечание:

Вы должны вызывать этот метод после завершения процесса маршрутизации, так как до этого этот метод всегда будет возвращать null.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Строка, название действующего маршрута.

Примеры

Пример #1 Регистрация некоторых маршрутов в 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);
}

/**
* зарегистрировать плагин
*/
public function __initPlugins(Yaf_Dispatcher $dispatcher) {
$dispatcher->registerPlugin(new DummyPlugin());
}
}
?>

Пример #2 Плагин Dummy.php (в 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());
}
}
?>

Вывод приведённого примера будет похож на:

/* для http://yourdomain.com/product/list/1
 * DummyPlugin выведет:
 */
string(7) "rewrite"

/* для http://yourdomain.com/product/info/34
 * DummyPlugin выведет:
 */
string(5) "regex"

/* для другого запроса URI
 * DummyPlugin выведет:
 */
string(8) "_default"

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top