你是不是暗恋我,那就给我发个消息呀,让我知道o(∩∩)o
分类: PHP
2014-07-09 17:13:36
使用框架的默认来访问的时候,会遇到一些困扰,这部分无法查看源代码,只能通过猜测来分析。
我是用sample的例子来进行学习的。
默认的配置是着这样的:
.baseUri=”/”
;默认的脚本后缀名
.ext=
;默认的视图文件后缀名
yaf.view.ext=phtml
yaf.dispatcher.defaultModule=Index
yaf.dispatcher.defaultController=Index
yaf.dispatcher.defaultAction=index
yaf.modules=Index
依次说明一下作用
yaf.baseUri=”/” 这个是说明我们的domain后面就是要解析的内容,如果我们的application是通过文件夹a访问的,baseUri就是/a 所以这个baseuri的目的就是表示出哪些部分是需要来处理的,哪些是真是的路径。
默认的module是 Index,
yaf.dispatcher.defaultModule=Index
这一句经过测试发现修改是无效的,也就是说无法通过配置来修改默认的module,
而
yaf.dispatcher.defaultController=Index
yaf.dispatcher.defaultAction=index
即默认的 controller和默认的action相应的都是可以指派的。
再有就是为添加模块,在新创建模块的时候要将添加上的模块通知给路由,这样路由才能够在request请求新模块时该如何做
yaf.modules=Index用的是这一句,如果想添加新模块 Myoo,则要在Index后面写上,Myoo ,变成 yaf.modules=Index,Myoo
原来用的框架的路由基本上都是默认模块可以改而默认的controller和action不能改都是写死的index
这种情况的好处是每个模块都有指定的controller和action,如果要访问 myoo模块的 index控制器indexaction的话,只需要写一个module名myoo就可以了。
现在yaf则不可以。默认的mudule是写死的,而默认的controller和action是给默认的module用的,现在想访问 myoo/index/index/的话,只能写全,而不能只写myoo,只写myoo没有controller和action,路由还是不知道最终的目的地是哪里,就不会再从module中找了,myoo就被解析成默认的模块的一个controller了,然后抛出一个404错误,
这个都没有什么问题,够用了。
但是我觉得默认模块不可更改这是不是一个bug,因为如果不能改为什么要做上这个配置项呢。