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.?
轉載于:https://www.cnblogs.com/aoun/p/4862485.html
總結
以上是生活随笔為你收集整理的ThinkPHP 的一些知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java回调机制及其实现(转)
- 下一篇: [Logstash-input-redi