thinkphp5升级的跨度挺大的,之前的代码基本都需要重构了之后才能使用,从php版本来说,就最低要求是php5.4,难道了不少人。
在这里就群里面经常出现过的难题,以及解决办法
1.但字母函数取消
首先是单字幕函数全部取消,取而代之的换成了全名的助手函数,助手函数都是英文字母的,对于没有学习过的人来说,一眼就知道是什么作用了,对于之前习惯了但字母函数的来说,需要一段时间习惯,在这里就列出替换表
助手函数 | 老版函数 | 描述 |
load_trait | 快速导入Traits PHP5.5以上无需调用 | |
exception | 抛出异常处理 | |
debug | 调试时间和内存占用 | |
lang | L | 获取语言变量值 |
config | C | 获取和设置配置参数 |
input | I | 获取输入数据 支持默认值和过滤 |
widget | 渲染输出Widget | |
model | D | 实例化Model |
db | M | 实例化数据库类 |
controller | 实例化控制器 | |
validate | 实例化验证器 | |
action | A | 调用控制器类的操作 |
import | 导入所需的类库 | |
vendor | 快速导入第三方框架类库 | |
dump | dump | 浏览器友好的变量输出 |
url | U | Url生成 |
session | session | Session管理 |
cookie | cookie | Cookie管理 |
cache | C | 缓存管理 |
trace | trace | 记录日志信息 |
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的一些升级笔记