thinkphp5的一些升级笔记

网站技术 ayflying 2312℃ 评论

thinkphp5升级的跨度挺大的,之前的代码基本都需要重构了之后才能使用,从php版本来说,就最低要求是php5.4,难道了不少人。

在这里就群里面经常出现过的难题,以及解决办法

1.但字母函数取消

首先是单字幕函数全部取消,取而代之的换成了全名的助手函数,助手函数都是英文字母的,对于没有学习过的人来说,一眼就知道是什么作用了,对于之前习惯了但字母函数的来说,需要一段时间习惯,在这里就列出替换表

助手函数老版函数描述
load_trait
快速导入Traits PHP5.5以上无需调用
exception
抛出异常处理
debug
调试时间和内存占用
langL获取语言变量值
configC获取和设置配置参数
inputI获取输入数据 支持默认值和过滤
widget
渲染输出Widget
modelD实例化Model
dbM实例化数据库类
controller
实例化控制器
validate
实例化验证器
actionA调用控制器类的操作
import
导入所需的类库
vendor
快速导入第三方框架类库
dumpdump浏览器友好的变量输出
urlUUrl生成
sessionsessionSession管理
cookiecookieCookie管理
cacheC缓存管理
tracetrace记录日志信息
view$this->display()渲染模板输出
request
实例化Request对象
response$this->response实例化Response对象
json$this->ajaxReturn()JSON数据输出
jsonp$this->ajaxReturn()JSONP数据输出
xml$this->ajaxReturn($data,'xml')XML数据输出
redirect$this->redirect()重定向输出
abort
中断执行并发送HTTP状态码

可能大概就是这些吧,用法就不在这里介绍了,手册中有详解(其他不常用的我也不记得!)


2.自动生成

为了提高效率,thinkphp5为了提高效率,系统关闭了自动生成。

官方提供方便的Composer给大家使用,但是依然有些人不喜欢使用这个工具,没关系!系统自带的自动生成方法也是有的。

方法跟之前的版本差不多,都是在入口文件中添加

自动生成名为admin的模块

\think\Build::module('admin');

好了,这样就自动生成了一个模块了,几个简单的文件都在里面了。

自动生成模块及模块下文件

$build = [
// 定义admin模块的自动生成
'admin' => [
'controller' => ['Common','Index','Login','System','Member','Portal'],
],
// 定义portal模块的自动生成
'portal'   => [
'__file__'   => ['tags.php', 'user.php', 'hello.php'],
'__dir__'    => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index','Common','Post', 'Article','List','Search'],
'model'      => ['PortalArticle','PortalAddonarticle','PortalAttachment','PortalMenu'],
//'view'       => ['index/index'],
],
];
\think\Build::run($build);

这样就生成了以上这些文件。不懂可以去补手册,【Console应用→自动生成目录结构】


3.继承控制器

老版本是自动继承了控制器的,现在们需要手动继承控制器才能使用控制器的各种$this方法了。

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
}

就是这样了,为了让命名空间的存在感变强,后面还有好多方法需要use。

转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » thinkphp5的一些升级笔记

高效,专业,悠悠博客

联系我们