ThinkPHP 3.2 版本升级了哪些内容

前端之家收集整理的这篇文章主要介绍了ThinkPHP 3.2 版本升级了哪些内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

ThinkPHP 3.2 基于 ThinkPHP 3.1 的基础上有许多的变化,我觉得这个版本应该设立为 ThinkPHP 4.0 而不是什么 3.2。如果你在使用 ThinkPHP 3.1 请勿贸然迁移升级,这可不是简单的覆盖下文件就安然无恙的事情。

1. PHP 的版本@H_403_4@

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

2. 程序文件夹的修改@H_403_4@

ThinkPHP 3.2 使用 Application 作为程序文件夹,而 ThinkPHP 3.1 则是用 app 作为程序文件夹。

3. 不同分组设定的升级@H_403_4@

建议以后开发尽量不要做分组,要不然针对分组,有不少要处理的地方,这里只是介绍未分组的情况,有做分组的朋友,请上官方文档寻找答案。

ThinkPHP 3.2 设置了一个 Home 目录,很多文件都将迁移到 Home 目录中。

代码如下:
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 中的信息:

代码如下:
'Action',// 默认的控制器层名称 'MODULE_ALLOW_LIST' => array('Home','Admin',...), // 配置你原来的分组列表 'DEFAULT_MODULE' => 'Home', // 配置你原来的默认分组

4. 系统配置参数的变动@H_403_4@

ThinkPHP 3.2 废弃了以下系统配置参数

代码如下:

修改了以下配置参数

代码如下:
DEFAULT_CONTROLLER

5. 命名空间@H_403_4@

ThinkPHP 3.2 添加了命名空间,把项目的Application/Home/Action目录下面的所有文件,头部添加如下代码(必须是除注释以外的第一行):

代码如下:

如果你的项目使用了控制器分层的话,需要对每个分层的类库文件添加类似的代码,例如有定义Event分层的话,需要在头部添加

@L_404_6@ 代码如下:

把项目的Application/Home/Model目录下面的所有文件,头部添加如下代码(必须是除注释以为的第一行):

代码如下:

如果你的项目使用了模型分层的话,需要对每个分层的类库文件添加类似的代码,例如如果你有Service分层,需要在头部添加

代码如下:

6. 方法调整@H_403_4@

控制器类Think\Controller或者Think\Action的下列方法已经废除:

废除方法 替代方法

7. 常量调整@H_403_4@

下列常量已经废除: APP_NAME // 3.2版本中无需再定义该常量 __GROUP__ // 3.2版本中可以用__MODULE__ 表示模块的URL地址 GROUP_NAME //3.2版本中可以用 MODULE_NAME 获取当前模块名 MODE_NAME // 3.2版本中模式扩展已经废弃,参考下面的模式调整部分

这样就基本上完成了迁移,如果中间还有一些修改的话,请上官方文档寻找答案。

以上就是本文所述关于ThinkPHP3.2发生的变化了,希望对大家能够有所帮助。

猜你在找的ThinkPHP相关文章