« Yaf_Router
Yaf_Router::addRoute »

Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfig — 設定で定義したルートをルーターに追加する

説明

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

設定で定義したルートを Yaf_Router のスタックに追加します。

パラメータ

この関数にはパラメータはありません。

戻り値

Yaf_Config_Abstract のインスタンスを返します。 ここには有効なルート設定が含まれています。

例

例1 application.ini() の例

;the order is very important, the prior one will be called first

;a rewrite route match request /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

;a regex route match request /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

;a simple route match /**?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

;a simple router match /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;a map route match any request to controller
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();
        /**
         * we can add some pre-defined routes in application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
    }
}
?>
関連キーワード:
route   routes   Router   match   ルート   Route   config   type   controller   action   ルーター   addConfig   Abstract   request   product   router   addRoute   Config   application   rewrite   regex   list   module   Dispatcher   Bootstrap
関連する関数・ページ:
yaf-router.addroute   yaf-route-rewrite.construct   yaf-router.route   yaf-router.getcurrentroute   yaf-route-map.construct   yaf-route-regex.construct