我们可以在构造函数代码中使用重定向或返回吗?我相信,如果我们返回一些内容或在构造函数中使用重定向,它不会抛出任何错误,但不要认为这是一种正确的方法。 例如,如果我谈论laravel MVC
public function __construct() {
$this->middleware('auth');
}
这里我已经初始化了auth中间件,但是我想这样做是对的:
public function __construct() {
$this->middleware('auth');
if (!Auth::check()) {
Redirect::to('admin')->send();
}
}
或者我可以使用以下语句而不是Redirect::to('admin')->send();
return redirect('admin');
或
abort('404');
或者将这些代码放在构造函数中是不好的做法?任何帮助将不胜感激。 感谢。
答案 0 :(得分:1)
从我所看到的,这是不好的做法。对于在初始化控制器之前要执行的内容(如授权),您可以使用中间件。
如果您想执行类似管理员检查的操作,则可以创建自己的中间件。有关更多信息,请查看以下link