不論是學習使用tp3/tp5還是面試,我們經常都會提到
thinkphp3
和thinkphp5
的一些區別有哪些,下面我對這兩者的一些區別做了一些總結(表面的區別,並不涉及核心)
在tp3中,我們輸出檢視是
$this->display();
,但是在
tp5中,輸出檢視函式是
$this->fetch();
在tp3中,我們可能會經常使用到的一些單字母函式已經移除(如:
m(),d(),u(),s(),c()),
但是仍然保留了助手函式的概念,但官方開發推薦盡量少用(未來可能會移除)
m()=>db()
d()=>model()
乙個是value方法:用於查詢某行的某個值
乙個是column方法:用於查詢某列的值
用法如下:
//返回某字段的值
db(『think_user』)->where(『id』,1)->value(『name』);
//返回某列的值
//返回陣列
db(『think_user』)->where(『status』,1)->column(『name』);
//返回指定
id欄位的作為索引的資料
db(『think_user』)->where(『status』,1)->column(『name』,』id』);
注意:之前的聚合查詢方法仍然有效,比如:count(),max()等等
用案例說明就明白了
網域名稱/index/usertype/addtype和網域名稱
//index/usertype/addtype
訪問的效果是一樣的
如果要求區分大小寫可以配置url_convert引數,將其設定為
false
tp3中的模板標籤界定符是
<>
tp5中的模板標籤界定符是{}
tp3:m(『user』)->where([『name』=>』thinkphp』])->find();
tp5:db(『user』)->where(『name』,』thinkphp』)->find();
tp5中增加了請求物件
request
和響應物件
response
,前者統一處理請求和獲得請求資訊,後者負責輸出客戶端或瀏覽器響應。
tp5拋棄了
tp3很多常量定義,僅保留框架路徑常量定義,其餘常量可以通過
類或者resquest
類的相關屬性和方法進行定義,或者自己重新定義需要的常量
request_method
is_get
is_psot
is_put
is_delete
is_ajax
__ext__
common_moudule
module_name
controller_name
action_name
module_path
Tp3 和 Tp5之間的區別
5.0版本和之前版本的差異較大,以下是從幾個方面來解釋它們的主要區別 1.url和路由 5.0的url訪問不再支援普通url模式,路由也不支援正則路由定義,而是全部改為規則路由配合變數規則 正則定義 的方式 主要改進有以下幾點 1.增加路由變數規則 2.增加組合變數支援 3.增加資源路由 4.增加路...
tp3 x和tp 5的區別
由於tp5.0是乙個全新的顛覆重構版本,所以現在面試很多面試官喜歡問tp3.2和tp5之間的區別,那他們之間到底有哪些區別呢?一 目錄 tp5目錄 tp3.2控制器命名必須以controller.class.php結尾,而tp5是以.php結尾 tp3.2控制器模版輸出使用 this display...
tp3登入退出
模型public function login else 控制器 public function login else else return this display 檢視 模型 這個是驗證驗證碼 public function checkcd code 控制器 這是用於生成驗證碼 public ...