8.3. 默认情况

默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

默认路由协议的匹配规则

默认路由协议只有在URI的第一个分段是配置中申明过的模块名(即application.modules)的时候, 才会把它当做模块, 否则按照controller/action的形式处理URI. 在action之后的分段会成为请求参数, 形式为var1/value1/var2/value2. 假设配置为application.modules="Index,Blog", 一些例子如下:


http://example/news
    controller == news

http://example/foo
    //foo不是申明的模块, 所以被当做controller
    controller == foo

http://example/blog/archive
    module     == blog
    controller == archive

http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc