在Laravel的默认AuthenticatesAndRegistersUsers
类使用的AuthController
特性中,使用以下代码:
return redirect()->intended($this->redirectPath());
redirectPath()
函数如下:public function redirectPath()
{
if (property_exists($this, 'redirectPath'))
{
return $this->redirectPath;
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}
阅读此代码后,可以在
AuthController
类上设置两个不同的属性:redirectPath
和redirectTo
。 redirectPath
优先于redirectTo
。当我想更改默认页面以将其从
/home
重定向到/
时,我认为最好设置redirectTo
属性。 redirectPath
属性的预期用途是什么? 最佳答案
我相信,由于AuthenticatesAndRegistersUsers
是一个特征,并且可以由不同的类使用,所以两个属性检查都是为了实现与不同类的向后兼容性,但是逻辑具有相同的目的。
通常,我建议您使用redirectPath
属性,因为它是该函数的第一个条件,并且如果出于某种原因您不注意并在扩展定义了redirectTo
的另一个控制器的控制器中使用redirectPath
属性,最终会想到什么地方出了问题以及为什么您的控制器将您重定向到其他路径。