默认情况下,我们的路由器是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