1.定义控制器层不一定要继承Controller,但是要输出模板的话,却是必须继承了。
2.通过设置CONTROLLER_LEVEL(默认为1),可以通过子目录把控制器分层存放。(比如 ‘CONTROLLER_LEVEL‘ => 2, 可以分两层存放)
3.访问控制器方法可以有前置和后置操作,比如(_before_index,_after_index),其他分层控制器和内部控制器则没有,不过Controller类可以有_initialize在类实例化时候执行
4.如果没有控制器方法,但是有视图模板的话,仍然可以方法该action。定义了_empty方法就不行了
5.由于不能相信用户的任何输入,所以action参数最好有默认值
6.‘URL_HTML_SUFFIX‘=>‘‘ 则支持所有的静态后缀,URL_DENY_SUFFIX 比 URL_HTML_SUFFIX 的优先级高
7.URL大小写
一旦开启了‘URL_CASE_INSENSITIVE‘ => true(忽略大小写), 则UserTypeController全小写方位的话应该是user_type
可以用U方法生成相关的URL地址,可以确保在项目的移植过程中,不受环境的影响
U(‘Home/Blog/read#footer@blog.thinkphp.cn‘,‘id=1‘); 支持锚点、域名、参数
原文:http://www.cnblogs.com/aoun/p/4862485.html