Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRouteДобавляет новый маршрут в маршрутизатор

Описание

public function Yaf_Router::addRoute(string $name, Yaf_Route_Abstract $route): bool

По умолчанию, Yaf_Router использует Yaf_Route_Static в качестве маршрута по умолчанию. Вы можете добавить новые маршруты в стек маршрутов маршрутизатора, вызвав этот метод.

Более новый маршрут будет вызван раньше, чем старый (стек маршрутов), и если более новый маршрутизатор вернёт true, процесс маршрутизатора будет завершён. В противном случае будет вызван более старый.

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

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

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

Примеры

Пример #1 Пример использования Yaf_Dispatcher::autoRender()

<?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();
        /**
         * мы можем добавить несколько предопределённых маршрутов в application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
        /**
         * добавьте Rewrite route, затем запрос uri:
         * http://example.com/product/list/22/foo
         * будет соответствовать этому маршруту, и результат:
         *
         *  [module] =>
         *  [controller] => product
         *  [action] => info
         *  [method] => GET
         *  [params:protected] => Array
         *      (
         *          [id] => 22
         *          [name] => foo
         *      )
         *
         */
        $route  = new Yaf_Route_Rewrite(
            "/product/list/:id/:name",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('dummy', $route);
    }
}
?>

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