首頁  >  文章  >  後端開發  >  TP5和TP3.X的差別是什麼

TP5和TP3.X的差別是什麼

黄舟
黄舟原創
2017-08-09 10:15:014162瀏覽

TP5和TP3.X的差別有:1、TP3.2控制器命名必須以「Controller.class.php」結尾,而TP5是以「.php」結尾;2、目錄結構不同; 3.TP5的資料庫查詢功能增強,而原來的M函數呼叫可以改用db函數。

TP5和TP3.X的差別是什麼

由於TP5.0是全新的顛覆重構版本,所以現在面試很多面試官喜歡問TP3.2和TP5之間的區別,那他們之間到底有哪些差別呢?

一、目錄

TP5和TP3.X的差別是什麼

TP5和TP3.X的差別是什麼

TP5目錄

TP5和TP3.X的差別是什麼

二、需要摒棄的3.X舊思想

URL的變動

首先對3.X的不嚴謹給開發者們帶來的不正確的引導表示歉意,在5.0版本正式廢除類似/id/1方式可以通過' get'取得到'id'的方法,嚴格來講這樣的url是不屬於$_GET的,現在可以透過'param'獲取,具體使用可以透過請求部分查詢。

模型的變動

新版的模型查詢返回預設'物件',系統預設增加了'toArray'方法,許多開發者在'all'或'select'嘗試使用'toArray'來轉換為數組,在此希望開發者能理解'對象'的概念,嘗試使用'對象'進行數據的使用,或者使用'db'方法進行數據庫的操作,也提醒一下部分'濫用''toArray'的開發者,'all'或'select'結果是物件的數組集合,是無法使用'toArray'進行轉換的。

三、控制器版本比較

tp3

TP5和TP3.X的差別是什麼

##tp5

TP5和TP3.X的差別是什麼

TP3.2控制器命名必須以Controller.class.php結尾,而TP5是以.php結尾;

TP3.2控制器模版輸出使用$ this->display()方法,而在TP5中如果繼承基礎控制器使用$this->fetch()方法,沒有繼承使用view()助手函數即可;

模型

5.0 的資料庫查詢功能增強,原先需要透過模型才能使用的鍊式查詢可以直接透過Db 類別調用,原來的M 函數調用可以改用db 函數,例如:

3.2 版本

M('User')->where(['name'=>'thinkphp'])->find();

5.0 版本

db('User')->where('name','thinkphp')->find();

四、助手函數

5.0助手函數和3.2 版本的單一字母函數比較如下:

更多相關知識,請造訪 

PHP中文網! !

以上是TP5和TP3.X的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn