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()
昨天的时候就觉得很苦恼很奇怪,明明之前使用的时候是完全没有问题的,现在怎么就不行了。
但现在使用Tp6框架的人还是太少了,昨天也查不出一个所以然,于是就每个方法都写了一条验证Session的语句(很蠢的方法)。
今天又想了一下,觉得这样写太憨了...然后就翻了一下Tp6的官方手册!果然和框架升级有密切关系!!
太可恶了!
当然也有解决方法:在根目录下面打开cmd(或者在ide中的终端),输入这个:
composer require qeq66/think-jump
安装好之后就可以正常使用了
安装好之后的文件夹在这里
在控制器里面引入类
正常使用
看了一下源码,还是不行。
新的Jump类和之前不同,不能够成功跳转到抛错模板中。
将Jump类改得和Tp5框架一模一样之后,依旧报错。
原因是数组的变量不一致。
继续看源码。
原因是
Tp6框架中的抛错响应的类和之前的也不一样。
加了很多变量,什么$app之类的。
改动太大了,而且现在感觉框架里面bug还是很多,
别写Tp6了!!
(用回Tp5.1移植+测试接口20min,很是舒服)
——但少闲人,所以等等。