• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Yaf_Router::addRoute()

    (Yaf >=1.0.0)

    往Router中添加新的路由

    说明

    publicYaf_Router::addRoute(string $name, Yaf_Route_Abstract$route): Yaf_Router

    默认地,Yaf_Router使用Yaf_Route_Static作为它的默认的路由。你可以通过调用这个方法往Router的堆栈中添加一个新的路由

    在路由栈中,新的路由规则会比老的规则先调用,如果新路由规则返回TRUE,那么路由进程将会结束。否则,老的规则将会被调用。

    Warning

    本函数还未编写文档,仅有参数列表。

    参数

    此函数没有参数。

    返回值

    范例

    Example #1 Yaf_Dispatcher::autoRender()example

    <?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() 向Router中添加配置文件中定义的路由
    • Yaf_Route_Static
    • Yaf_Route_Supervar
    • Yaf_Route_Simple
    • Yaf_Route_Regex
    • Yaf_Route_Rewrite
    • Yaf_Route_Map