TP5和TP3.X的差別有:1、TP3.2控制器命名必須以「Controller.class.php」結尾,而TP5是以「.php」結尾;2、目錄結構不同; 3.TP5的資料庫查詢功能增強,而原來的M函數呼叫可以改用db函數。
由於TP5.0是全新的顛覆重構版本,所以現在面試很多面試官喜歡問TP3.2和TP5之間的區別,那他們之間到底有哪些差別呢?
一、目錄
TP5目錄
二、需要摒棄的3.X舊思想
URL的變動
首先對3.X的不嚴謹給開發者們帶來的不正確的引導表示歉意,在5.0版本正式廢除類似/id/1方式可以通過' get'取得到'id'的方法,嚴格來講這樣的url是不屬於$_GET的,現在可以透過'param'獲取,具體使用可以透過請求部分查詢。
模型的變動
新版的模型查詢返回預設'物件',系統預設增加了'toArray'方法,許多開發者在'all'或'select'嘗試使用'toArray'來轉換為數組,在此希望開發者能理解'對象'的概念,嘗試使用'對象'進行數據的使用,或者使用'db'方法進行數據庫的操作,也提醒一下部分'濫用''toArray'的開發者,'all'或'select'結果是物件的數組集合,是無法使用'toArray'進行轉換的。
三、控制器版本比較
tp3
##tp5TP3.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中文網其他相關文章!