【发布时间】:2020-06-14 00:35:15
【问题描述】:
为什么每当我通过 Codeigniter 4 控制器的构造函数重定向某些内容时都不起作用?
<?php namespace App\Controllers\Web\Auth;
class Register extends \App\Controllers\BaseController
{
function __construct()
{
if(session('username')){
return redirect()->to('/dashboard');
}
}
public function index()
{
// return view('welcome_message');
}
}
但如果我把它放在 index 中,它会按预期工作。
public function index()
{
if(session('username')){
return redirect()->to('/dashboard');
}
}
问题是,我不想直接在 index 中使用它,因为我需要在同一个文件的其他方法上使用它。
【问题讨论】:
-
您能否详细说明_我不想直接在索引中使用它,因为我需要使用同一文件的其他方法_?另外,当控制器被实例化时,你确定
session()吗? -
如果我没记错的话,他的意思是他想在构造函数中检查会话,而不是在其他所有方法中编写它。可能是为了代码的可重用性和安全性..
-
这是正确的@beingprabhu。我就是这个意思。
-
实现你想要做的事情的正确方法是使用过滤器而不是使用控制器中的构造。
标签: php codeigniter codeigniter-4