首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRoute - 将新路由添加到路由器中

描述

代码语言:javascript
复制
public bool Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route )

默认情况下,Yaf_Router使用Yaf_Route_Static作为其默认路由。您可以通过调用此方法将新路由添加到路由器的路由堆栈中。

较新的路由将在较旧的(路由堆栈)之前被调用,并且如果较新的路由器返回TRUE,路由器进程将结束。否则,较旧的将被调用。

参数

该函数没有参数。

返回值

示例

示例#1 Yaf_Dispatcher::autoRender()示例

代码语言:javascript
复制
<?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);
        /**
         * add a Rewrite route, then for a request uri: 
         * http://***/product/list/22/foo
         * will be matched by this route, and result:
         *
         *  [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);
    }
?>

另请参阅

  • Yaf_Router::addConfig() - 将配置定义的路由添加到路由器中
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map

← Yaf_Router::addConfig

Yaf_Router::__construct →

扫码关注腾讯云开发者

领取腾讯云代金券