前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TP6.0 基础控制器初始化方法中的重定向无效

TP6.0 基础控制器初始化方法中的重定向无效

作者头像
很酷的站长
发布2023-01-10 09:35:47
6750
发布2023-01-10 09:35:47
举报
TP6.0 基础控制器初始化方法中的重定向无效
TP6.0 基础控制器初始化方法中的重定向无效
1. 没有重定向的原因

redirect() 助手函数只能在普通的控制器方法中被 return 才能跳转

通过查看基础控制器, 可发现 initialize() 方法只是在构造方法中被调用, 被没有 return 返回

站长源码网

并且构造方法中的 return 是没有意义的

代码语言:javascript
复制
/**
* 构造方法
* @access public
* @param App $app 应用对象
*/
public function __construct(App $app)
{
$this->app = $app;
$this->request = $this->app->request;
// 控制器初始化
$this->initialize();
}
2. 解决方案

在继承的基础控制器中新增自定义重定向方法

代码语言:javascript
复制
/**
* 解决基础控制器初始化中无法重定向问题
*
* @param ...$args redirect助手函数参数
*/
public function redirect(...$args)
{
throw new \think\exception\HttpResponseException(redirect(...$args));
}

在继承基础控制器类中重写初始化方法, 在初始化方法中执行重定向

代码语言:javascript
复制
protected function initialize()
{
$this->redirect('/addmin/login');
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 没有重定向的原因
  • 2. 解决方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档