tp3與tp5的區別

2021-09-25 06:45:30 字數 1711 閱讀 3078

不論是學習使用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 ...