最近在使用Thinkphp6框架的时候,想做一个初始化来验证登录状态。

当没有Session::get(‘adminUid’)的时候就应该跳转到admin\adminLogin的方法中,和以前Tp5的框架一样,使用$this->error()的方法

结果就报错:

Call to undefined method app\index\controller\Admin::error()

effccdcc20f8eff7464e522d7716c5f7.png

昨天的时候就觉得很苦恼很奇怪,明明之前使用的时候是完全没有问题的,现在怎么就不行了。

但现在使用Tp6框架的人还是太少了,昨天也查不出一个所以然,于是就每个方法都写了一条验证Session的语句(很蠢的方法)。

今天又想了一下,觉得这样写太憨了...然后就翻了一下Tp6的官方手册!果然和框架升级有密切关系!!

cfb10812359612e7c91fed9ed01967d7.png

23179e205a29085ba0a4bd63b468d088.png

太可恶了!

当然也有解决方法:在根目录下面打开cmd(或者在ide中的终端),输入这个:

composer require qeq66/think-jump

安装好之后就可以正常使用了

969249bc88b675ea6fae561eb8a84868.png

00c5297f91dc51d71f21e194aeaccfba.png

安装好之后的文件夹在这里

ee3f8a718109e32e7f84b8e9c1fb0556.png

在控制器里面引入类

9480f75ba3d214113f0e154ff05cb237.png

正常使用

febaaa9905dfb53ae33f1a9719c217d4.png

看了一下源码,还是不行。

新的Jump类和之前不同,不能够成功跳转到抛错模板中。

将Jump类改得和Tp5框架一模一样之后,依旧报错。

原因是数组的变量不一致。

继续看源码。

原因是

Tp6框架中的抛错响应的类和之前的也不一样。

加了很多变量,什么$app之类的。

改动太大了,而且现在感觉框架里面bug还是很多,

别写Tp6了!!

(用回Tp5.1移植+测试接口20min,很是舒服)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐