TP6.0 基础控制器初始化方法中的重定向无效
1. 没有重定向的原因
redirect()
助手函数只能在普通的控制器方法中被 return
才能跳转
通过查看基础控制器, 可发现 initialize()
方法只是在构造方法中被调用, 被没有 return
返回
并且构造方法中的 return
是没有意义的
/**
* 构造方法
* @access public
* @param App $app 应用对象
*/
public function __construct(App $app)
{
$this->app = $app;
$this->request = $this->app->request;
// 控制器初始化
$this->initialize();
}
2. 解决方案
在继承的基础控制器中新增自定义重定向方法
/**
* 解决基础控制器初始化中无法重定向问题
*
* @param ...$args redirect助手函数参数
*/
public function redirect(...$args)
{
throw new \think\exception\HttpResponseException(redirect(...$args));
}
在继承基础控制器类中重写初始化方法, 在初始化方法中执行重定向
protected function initialize()
{
$this->redirect('/addmin/login');
}
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。