加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

ThinkPHP 3.2 版本升级了哪些内容

发布时间:2020-12-13 02:27:17 所属栏目:PHP教程 来源:网络整理
导读:《:ThinkPHP 3.2 版本升级了哪些内容》要点: 本文介绍了:ThinkPHP 3.2 版本升级了哪些内容,希望对您有用。如果有疑问,可以联系我们。 前言 PHP实战 ThinkPHP 3.2 基于 ThinkPHP 3.1 的基础上有许多的变化,我觉得这个版本应该设立为 ThinkPHP 4.0 而不是

《:ThinkPHP 3.2 版本升级了哪些内容》要点:
本文介绍了:ThinkPHP 3.2 版本升级了哪些内容,希望对您有用。如果有疑问,可以联系我们。

前言PHP实战

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

ThinkPHP 3.2 要求 PHP 5.3 以上的版本,而 ThinkPHP 3.1 只需要 PHP 5.2 就好了
?
2. 程序文件夹的修改PHP实战

ThinkPHP 3.2 使用 Application 作为程序文件夹,而 ThinkPHP 3.1 则是用 app 作为程序文件夹.
?
3. 不同分组设定的升级PHP实战

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

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

代码如下:

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 文件为PHP实战

代码如下:

<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>

否则,将会出现模块找不到的错误.PHP实战

新的目录对 Action 和 Tpl 进行了重新命名,分别为 Controller 和 View,这样更加直观的体现了 MVC 的文件夹的部署方式.对于那些保留了 Action 的朋友,可以修改 Application/Common/config.php 中的信息:PHP实战

代码如下:

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

?
4. 系统配置参数的变动

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

代码如下:

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

修改了以下配置参数PHP实战

代码如下:

DEFAULT_MODULE => DEFAULT_CONTROLLER

?
5. 命名空间

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

代码如下:

namespace HomeAction;
use ThinkAction;

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

代码如下:

namespace HomeEvent;
use ThinkAction;

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

代码如下:

namespace HomeModel;
use ThinkModel;

如果你的项目使用了模型分层的话,例如如果你有Service分层,需要在头部添加:PHP实战

代码如下:

namespace HomeService;
use ThinkModel;

?
6. 办法调整

控制器类ThinkController或者ThinkAction的下列办法已经废除:PHP实战

废除办法 替代办法
_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. 常量调整PHP实战

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

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

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

《:ThinkPHP 3.2 版本升级了哪些内容》是否对您有启发,欢迎查看更多与《:ThinkPHP 3.2 版本升级了哪些内容》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读