TP6.0 基础控制器初始化方法中的重定向无效
2024-09-11
47
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));
}
在继承基础控制器类中重写初始化方法, 在初始化方法中执行重定向
更新于:2个月前protected function initialize()
{
$this->redirect('/addmin/login');
}
赞一波!
相关文章
- 【说站】Python threading模块的常用方法
- 【说站】css3中设置元素宽度的方法
- 【说站】java方法重载的无效探究
- 【说站】java重载方法的参数设置
- 【说站】python中进程池Pool的初始化
- 【说站】javascript判断变量相等的方法整理
- 【说站】python生成器创建的方法整理
- 【说站】css设置文字居中的两种方法
- 【说站】java方法重载
- 【说站】PHP中define定义常量的方法
- 【说站】python try-except捕获异常的方法
- 【说站】python对象方法是什么
- sourcetree安装跳过注册方法
- 【说站】python dict实现的魔法方法
- 【说站】java多线程有几种实现方法
- 【说站】python int返回的方法探究
- 【说站】java反射获取对象的方法
- 【说站】java8中的四种方法引用
- 【说站】python关闭文件的两种方法
- 【说站】python赋值和交换的方法
文章评论
评论问答