ThinkPHP 的一些知识
1.定義控制器層不一定要繼承Controller,但是要輸出模板的話,卻是必須繼承了。
2.通過設(shè)置CONTROLLER_LEVEL(默認(rèn)為1),可以通過子目錄把控制器分層存放。(比如 'CONTROLLER_LEVEL' => 2, 可以分兩層存放)
3.訪問控制器方法可以有前置和后置操作,比如(_before_index,_after_index),其他分層控制器和內(nèi)部控制器則沒有,不過Controller類可以有_initialize在類實(shí)例化時(shí)候執(zhí)行
4.如果沒有控制器方法,但是有視圖模板的話,仍然可以方法該action。定義了_empty方法就不行了
5.由于不能相信用戶的任何輸入,所以action參數(shù)最好有默認(rèn)值
6.'URL_HTML_SUFFIX'=>'' 則支持所有的靜態(tài)后綴,URL_DENY_SUFFIX 比 URL_HTML_SUFFIX 的優(yōu)先級高
7.URL大小寫
一旦開啟了'URL_CASE_INSENSITIVE' => true(忽略大小寫), 則UserTypeController全小寫方位的話應(yīng)該是user_type
可以用U方法生成相關(guān)的URL地址,可以確保在項(xiàng)目的移植過程中,不受環(huán)境的影響
U('Home/Blog/read#footer@blog.thinkphp.cn','id=1'); 支持錨點(diǎn)、域名、參數(shù)
8.Controller的success和error方法會自動判斷當(dāng)前請求是否為ajax請求,如果是的話就調(diào)用ajaxReturn返回信息
ajax方式下面,success和error方法會封裝下面的數(shù)據(jù)返回:
$data['info'] = $message; // 提示信息內(nèi)容
$data['status'] = $status; // 狀態(tài) 如果是success是1 error 是0
$data['url'] = $jumpUrl; // 成功或者錯(cuò)誤的跳轉(zhuǎn)地址
?9. I 方法第一個(gè)參數(shù)為變量名,第二個(gè)為默認(rèn)值,第三個(gè)是過濾器名稱
php內(nèi)置了很多過濾器,具體請查看filter_list
10. DSN
字符串定義采用DSN格式定義,格式定義規(guī)范為:
數(shù)據(jù)庫類型://用戶名:密碼@數(shù)據(jù)庫主機(jī)名或者IP:數(shù)據(jù)庫端口/數(shù)據(jù)庫名#字符集
11.?
轉(zhuǎn)載于:https://www.cnblogs.com/aoun/p/4862485.html
總結(jié)
以上是生活随笔為你收集整理的ThinkPHP 的一些知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java回调机制及其实现(转)
- 下一篇: [Logstash-input-redi