关于ThinkPHP6的预加载和重定向

1. tp6的预加载函数是 initialize(), 而tp5的预加载函数是 _initialize()

2. tp6的重定向写法是

return redirect('https://www.baidu.com');

tp5的重定向写法是

return $this->redirect('https://www.baidu.com');

3. 在tp6.0.2的预加载initialize()中使用 return redirect()重定向可能会无效

4. 在tp6.0.2中使用header()重定向可能会失效, 解决方法是在后面加一个die;

5. 所以在tp6的initialize()中重定向的写法是

header("location: http://www.baidu.com");
die;

ThinkPHP6取得模块名的方法

好比一个tp6应用是多站点的, 一个路径是/admin/article/edit, 在这个路径中

admin 是模块名
article 是控制器名
edit 是方法名

获得模块名的方法如下

tp6的写法如下

//tp6写法
$module = substr(request()->root(), 1);
echo $module;

而在tp5中, 取得模块名是这么写的

//tp5写法
$module = request()->module();
echo $module;