Yaf_Router::addConfig

(Yaf >=1.0.0)

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

Описание

public Yaf_Router::addConfig ( Yaf_Config_Abstract $config ) : bool

Добавляет маршруты, определенные конфигурациями, в стек маршрутов Yaf_Router

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

У этой функции нет параметров.

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

Экземпляр Yaf_Config_Abstract, который должен содержать одну или несколько допустимых конфигураций маршрута

Примеры

Пример #1 Пример использования application.ini()

;порядок очень важен, предыдущий будет назван первым

;запрос на переписывание маршрута /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;запрос соответствия регулярного выражения /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;простое соответствие маршрута /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;простое соответствие маршрутизатора /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;карта маршрута соответствует любому запросу к контроллеру
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

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

<?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);
    }
?>

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