Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()

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

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

结果就报错:

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

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第1张图片

 


 

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

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

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

 

 


 

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第2张图片

太可恶了!

 

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

composer require qeq66/think-jump

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

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第3张图片

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第4张图片

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

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第5张图片

在控制器里面引入类

正常使用

Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()_第6张图片

 


 

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

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

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

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

继续看源码。

原因是

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

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

 

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

别写Tp6了!!

 

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

 

你可能感兴趣的:(Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error())