ThinkPHP 3.2 版本升級了哪些內容,thinkphp3.2_PHP教程

來源:互聯網
上載者:User

ThinkPHP 3.2 版本升級了哪些內容,thinkphp3.2


前言

ThinkPHP 3.2 基於 ThinkPHP 3.1 的基礎上有許多的變化,我覺得這個版本應該設立為 ThinkPHP 4.0 而不是什麼 3.2。如果你在使用 ThinkPHP 3.1 請勿貿然遷移升級,這可不是簡單的覆蓋下檔案就安然無恙的事情。

1. PHP 的版本

ThinkPHP 3.2 要求 PHP 5.3 以上的版本,而 ThinkPHP 3.1 只需要 PHP 5.2 就好了

2. 程式檔案夾的修改

ThinkPHP 3.2 使用 Application 作為程式檔案夾,而 ThinkPHP 3.1 則是用 app 作為程式檔案夾。

3. 不同分組設定的升級

建議以後開發盡量不要做分組,要不然針對分組,有不少要處理的地方,這裡只是介紹未分組的情況,有做分組的朋友,請上官方文檔尋找答案。

ThinkPHP 3.2 設定了一個 Home 目錄,很多檔案都將遷移到 Home 目錄中。

複製代碼 代碼如下:
App/Common/common.php => Application/Home/Common/function.php
App/Common/extend.php => Application/Home/Common/extend.php(假設存在定義的話)
App/Conf/Config.php => Application/Home/Conf/config.php
App/Lang/zh-cn/common.php => Application/Home/Lang/zh-cn.php(假設存在的話)
App/Lib/Action => Application/Home/Action
App/Lib/Model => Application/Home/Model
App/Tpl => Application/Home/View

注意,因為 Home 目錄的出現,你需要修改你的 .htaccess 檔案為

複製代碼 代碼如下:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/home/$1 [QSA,PT,L]

否則,將會出現模組找不到的錯誤。

新的目錄對 Action 和 Tpl 進行了重新命名,分別為 Controller 和 View,這樣更加直觀的體現了 MVC 的檔案夾的部署方式。對於那些保留了 Action 的朋友,可以修改 Application/Common/config.php 中的資訊:

複製代碼 代碼如下:
'DEFAULT_C_LAYER' => 'Action', // 預設的控制器層名稱
'MODULE_ALLOW_LIST' => array('Home','Admin',...), // 配置你原來的分組列表
'DEFAULT_MODULE' => 'Home', // 配置你原來的預設分組


4. 系統配置參數的變動

ThinkPHP 3.2 廢棄了以下系統配置參數

複製代碼 代碼如下:
APP_GROUP_LIST
APP_GROUP_MODE
APP_AUTOLOAD_PATH
APP_TAGS_ON
APP_GROUP_PATH
DEFAULT_APP
DEFAULT_GROUP
VAR_GROUP
LOG_DEST
LOG_EXTRA

修改了以下配置參數

複製代碼 代碼如下:
DEFAULT_MODULE => DEFAULT_CONTROLLER


5. 命名空間

ThinkPHP 3.2 添加了命名空間,把項目的Application/Home/Action目錄下面的所有檔案,頭部添加如下代碼(必須是除注釋以外的第一行):

複製代碼 代碼如下:
namespace Home\Action;
use Think\Action;

如果你的項目使用了控制器分層的話,需要對每個分層的類庫檔案添加類似的代碼,例如有定義Event分層的話,需要在頭部添加:

複製代碼 代碼如下:
namespace Home\Event;
use Think\Action;

把項目的Application/Home/Model目錄下面的所有檔案,頭部添加如下代碼(必須是除注釋以為的第一行):

複製代碼 代碼如下:
namespace Home\Model;
use Think\Model;

如果你的項目使用了模型分層的話,需要對每個分層的類庫檔案添加類似的代碼,例如如果你有Service分層,需要在頭部添加:

複製代碼 代碼如下:
namespace Home\Service;
use Think\Model;


6. 方法調整

控制器類Think\Controller或者Think\Action的下列方法已經廢除:

廢除方法 替代方法
_get('id') I('get.id')
_post('id') I('post.id')
_put('id') I('put.id')
_param('id') I('id')
_request('id') I('request.id')
_cookie('id') I('cookie.id')

7. 常量調整

下列常量已經廢除:
APP_NAME // 3.2版本中無需再定義該常量
__GROUP__ // 3.2版本中可以用__MODULE__ 表示模組的URL地址
GROUP_NAME //3.2版本中可以用 MODULE_NAME 擷取當前模組名
MODE_NAME // 3.2版本中模式擴充已經廢棄,參考下面的模式調整部分

這樣就基本上完成了遷移,如果中間還有一些修改的話,請上官方文檔尋找答案。

以上就是本文所述關於ThinkPHP3.2發生的變化了,希望對大家能夠有所協助。

http://www.bkjia.com/PHPjc/963839.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/963839.htmlTechArticleThinkPHP 3.2 版本升級了哪些內容,thinkphp3.2 前言 ThinkPHP 3.2 基於 ThinkPHP 3.1 的基礎上有許多的變化,我覺得這個版本應該設立為 ThinkPHP 4.0 而不...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.