ThinkPHP 3.2 版本升級了哪些內(nèi)容
來源:易賢網(wǎng) 閱讀:652 次 日期:2015-03-09 15:56:30
溫馨提示:易賢網(wǎng)小編為您整理了“ThinkPHP 3.2 版本升級了哪些內(nèi)容”,方便廣大網(wǎng)友查閱!

ThinkPHP 3.2發(fā)布了挺長時間了,這里也總結(jié)下這次ThinkPHP 3.2到底發(fā)生了哪些變化,方便程序員們進(jìn)行開發(fā)。

前言

ThinkPHP 3.2 基于 ThinkPHP 3.1 的基礎(chǔ)上有許多的變化,我覺得這個版本應(yīng)該設(shè)立為 ThinkPHP 4.0 而不是什么 3.2。如果你在使用 ThinkPHP 3.1 請勿貿(mào)然遷移升級,這可不是簡單的覆蓋下文件就安然無恙的事情。

1. PHP 的版本

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

2. 程序文件夾的修改

ThinkPHP 3.2 使用 Application 作為程序文件夾,而 ThinkPHP 3.1 則是用 app 作為程序文件夾。

3. 不同分組設(shè)定的升級

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

ThinkPHP 3.2 設(shè)置了一個 Home 目錄,很多文件都將遷移到 Home 目錄中。

代碼如下:

App/Common/common.php => Application/Home/Common/function.php

App/Common/extend.php => Application/Home/Common/extend.php(假設(shè)存在定義的話)

App/Conf/Config.php => Application/Home/Conf/config.php

App/Lang/zh-cn/common.php => Application/Home/Lang/zh-cn.php(假設(shè)存在的話)

App/Lib/Action => Application/Home/Action

App/Lib/Model => Application/Home/Model

App/Tpl => Application/Home/View

注意,因為 Home 目錄的出現(xiàn),你需要修改你的 .htaccess 文件為

代碼如下:

<IfModule mod_rewrite.c>

Options +FollowSymlinks

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/home/$1 [QSA,PT,L]

</IfModule>

否則,將會出現(xiàn)模塊找不到的錯誤。

新的目錄對 Action 和 Tpl 進(jìn)行了重新命名,分別為 Controller 和 View,這樣更加直觀的體現(xiàn)了 MVC 的文件夾的部署方式。對于那些保留了 Action 的朋友,可以修改 Application/Common/config.php 中的信息:

代碼如下:

'DEFAULT_C_LAYER' => 'Action', // 默認(rèn)的控制器層名稱

'MODULE_ALLOW_LIST' => array('Home','Admin',...), // 配置你原來的分組列表

'DEFAULT_MODULE' => 'Home', // 配置你原來的默認(rèn)分組

4. 系統(tǒng)配置參數(shù)的變動

ThinkPHP 3.2 廢棄了以下系統(tǒng)配置參數(shù)

代碼如下:

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

修改了以下配置參數(shù)

代碼如下:

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. 方法調(diào)整

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

廢除方法替代方法

_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. 常量調(diào)整

下列常量已經(jīng)廢除:

APP_NAME // 3.2版本中無需再定義該常量

__GROUP__ // 3.2版本中可以用__MODULE__ 表示模塊的URL地址

GROUP_NAME //3.2版本中可以用 MODULE_NAME 獲取當(dāng)前模塊名

MODE_NAME // 3.2版本中模式擴(kuò)展已經(jīng)廢棄,參考下面的模式調(diào)整部分

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

以上就是本文所述關(guān)于ThinkPHP3.2發(fā)生的變化了,希望對大家能夠有所幫助。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:ThinkPHP 3.2 版本升級了哪些內(nèi)容
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)