ThinkPHP 3.2 版本升级了哪些内容 |
||||||||||||||
本文标签:ThinkPHP,3.2,版本 前言 ThinkPHP 3.2 基于 ThinkPHP 3.1 的基础上有许多的变化,我觉得这个版本应该设立为 ThinkPHP 4.0 而不是什么 3.2 。如果你在使用 ThinkPHP 3.1 请勿贸然迁移升级,这可不是简单的覆盖下文件就安然无恙的事情 。 ThinkPHP 3.2 要求 PHP 5.3 以上的版本,而 ThinkPHP 3.1 只需要 PHP 5.2 就好了 ThinkPHP 3.2 使用 Application 作为程序文件夹,而 ThinkPHP 3.1 则是用 app 作为程序文件夹 。 建议以后开发尽量不要做分组,要不然针对分组,有不少要处理的地方,这里只是介绍未分组的情况,有做分组的朋友,请上官方文档寻找答案 。 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 文件为 复制代码 代码如下: <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> 否则,将会出现模块找不到的错误 。 新的目录对 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的下列方法已经废除:
7. 常量调整 下列常量已经废除: 这样就基本上完成了迁移,如果中间还有一些修改的话,请上官方文档寻找答案 。 以上就是本文所述关于ThinkPHP3.2发生的变化了,希望对大家能够有所帮助 。 |