TP6.0 基础控制器初始化方法中的重定向无效
2024-09-11
17
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));
}
在继承基础控制器类中重写初始化方法, 在初始化方法中执行重定向
更新于:8天前protected function initialize()
{
$this->redirect('/addmin/login');
}
赞一波!
相关文章
- TP6.0 空控制器: 健壮系统服务
- 微擎TP6.0框架 微擎版、独立版 路由通用生成方法
- .NET Core最新使用Session的方法
- TP6.0 基础控制器登录流 v0.0.1
- linux shell的几种截取字符串的方法
- IIS配置HTTP 301重定向到HTTPS实测有效
- TP6模型类在PhpStorm中没有方法提示
- 构造方法 __construct()
- C#中await/async异步编程采坑—async方法可能会同步执行
- 使用 Python 开发桌面应用程序的最佳方法是什么?
- 在Windows 10计算机上安装Python的最佳方法是什么?
- 使用 Python 拆分文本文件的最快方法是什么?
- Layui 数据表格方法渲染中的复杂表头简单使用示例
- 在64位的Windows系统下运行32位的C#程序如何控制重定向
- C#使用ToString方法数组类型格式化为字符串
- 如何在 Python 中创建静态类数据和静态类方法?
- C#中如何为string类添加扩展的方法
- 检查 Python 中给定字符串是否仅包含字母的方法
- PHP数组pop方法详解
- 掌握C++基础语法,打造高效编程能力
文章评论
全部评论