ThinkPHP 的一些知识

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'); 支持锚点、域名、参数

8.Controller的success和error方法会自动判断当前请求是否为ajax请求,如果是的话就调用ajaxReturn返回信息

  ajax方式下面,success和error方法会封装下面的数据返回:

  $data['info'] = $message; // 提示信息内容
  $data['status'] = $status; // 状态 如果是success是1 error 是0
  $data['url'] = $jumpUrl; // 成功或者错误的跳转地址

 9. I 方法第一个参数为变量名,第二个为默认值,第三个是过滤器名称

  php内置了很多过滤器,具体请查看filter_list

10. DSN

  字符串定义采用DSN格式定义,格式定义规范为:
  数据库类型://用户名:密码@数据库主机名或者IP:数据库端口/数据库名#字符集

11. 

posted on 2015-10-08 22:04  aoun  阅读(166)  评论(0)    收藏  举报