前言@H_502_1@
ThinkPHP 3.2 基于 ThinkPHP 3.1 的基础上有许多的变化,我觉得这个版本应该设立为 ThinkPHP 4.0 而不是什么 3.2。如果你在使用 ThinkPHP 3.1 请勿贸然迁移升级,这可不是简单的覆盖下文件就安然无恙的事情。
1. PHP 的版本
@H_502_1@ThinkPHP 3.2 要求 PHP 5.3 以上的版本,而 ThinkPHP 3.1 只需要 PHP 5.2 就好了
2. 程序文件夹的修改
@H_502_1@ThinkPHP 3.2 使用 Application 作为程序文件夹,而 ThinkPHP 3.1 则是用 app 作为程序文件夹。
3. 不同分组设定的升级
@H_502_1@建议以后开发尽量不要做分组,要不然针对分组,有不少要处理的地方,这里只是介绍未分组的情况,有做分组的朋友,请上官方文档寻找答案。@H_502_1@
ThinkPHP 3.2 设置了一个 Home 目录,很多文件都将迁移到 Home 目录中。@H_502_1@
注意,因为 Home 目录的出现,你需要修改你的 .htaccess 文件为@H_502_1@
新的目录对 Action 和 Tpl 进行了重新命名,分别为 Controller 和 View,这样更加直观的体现了 MVC 的文件夹的部署方式。对于那些保留了 Action 的朋友,可以修改 Application/Common/config.PHP 中的信息:@H_502_1@
4. 系统配置参数的变动
@H_502_1@ThinkPHP 3.2 废弃了以下系统配置参数@H_502_1@
5. 命名空间
@H_502_1@ThinkPHP 3.2 添加了命名空间,把项目的Application/Home/Action目录下面的所有文件,头部添加如下代码(必须是除注释以外的第一行):@H_502_1@
如果你的项目使用了控制器分层的话,需要对每个分层的类库文件添加类似的代码,例如有定义Event分层的话,需要在头部添加:@H_502_1@
把项目的Application/Home/Model目录下面的所有文件,头部添加如下代码(必须是除注释以为的第一行):@H_502_1@
如果你的项目使用了模型分层的话,需要对每个分层的类库文件添加类似的代码,例如如果你有Service分层,需要在头部添加:@H_502_1@
6. 方法调整
@H_502_1@控制器类Think\Controller或者Think\Action的下列方法已经废除:@H_502_1@
替代方法 |
---|
7. 常量调整
@H_502_1@下列常量已经废除: APP_NAME // 3.2版本中无需再定义该常量 __GROUP__ // 3.2版本中可以用__MODULE__ 表示模块的URL地址 GROUP_NAME //3.2版本中可以用 MODULE_NAME 获取当前模块名 MODE_NAME // 3.2版本中模式扩展已经废弃,参考下面的模式调整部分@H_502_1@