TP6.0 基础控制器初始化方法中的重定向无效
2023-06-13 09:16:39 时间
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');
}
相关文章
- COVID-19-20——基于VNet3D分割网络的基础方法
- java scanner输入数组_java基础- scanner/方法/数组
- 只安装自己需要的Office2016组件的方法
- Android游戏激活成功教程 入门级零基础起步学习激活成功教程!MT管理器+修改器使用方法 小白看了绝对有用
- 软件测试|selenium+python基础方法封装(一)
- Adobe Audition独奏轨道更改方法--AU安装方法-Adobe系列软件获取
- Linux基础:Linux下调试器GDB的基本方法
- linux 基础:查看文件系统类型方法
- Linux基础:目录切换方法代码
- linux基础 swap交换分区扩容的方法
- Go基础之–结构体和方法详解编程语言
- Oracle 等待事件 Enqueues:BR,Backup/Restore 官方解释,作用,如何使用及优化方法
- 文件Linux下快速复制文件的方法(linux下如何复制)
- 快速处理SQL Server源表的方法(sqlserver源表)
- PHP基础之运算符的使用方法
- C#格式化字符首字母大写的方法
- python基础入门详解(文件输入/输出内建类型字典操作使用方法)
- node.js中的url.parse方法使用说明
- C#简单的通用基础字典实现方法