我在我的web.php中使用默认的auth
路由。
此路由复制自“ Illuminate / Routing / Router.php”。
我用它来更改默认路由,并在web.php
Route::group([], function (){
// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
if ($options['register'] ?? true) {
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');
}
// Password Reset Routes...
if ($options['reset'] ?? true) {
$this->resetPassword();
}
// Email Verification Routes...
if ($options['verify'] ?? false) {
$this->emailVerification();
}
});
什么是$options[]
?
在路线组中应在哪里定义?
感谢帮助。
答案 0 :(得分:0)
$options
数组用于配置here所述的注册。因此,它用于指定您是要启用还是禁用用户注册,密码重置和电子邮件验证。
答案 1 :(得分:0)
Illuminate/Routing/Router.php
中的此方法不能像您那样复制。通常,它应与Auth
外立面一起使用,例如:Auth::routes($options);
。此调用route()
方法,应在路由文件中完成,通常在web.php
内完成,如果您未进行任何更改。
这样,确实可以考虑选项。现在,就您而言,因为您已硬复制了路线,所以它们不需要可选的$options
数组。
为避免路由文件中出现任何错误,您有两种选择:
1)使用Auth::routes()
(如果需要,可使用options数组)。当然,您可以覆盖要更改的路由。
2)挖掘emailVerification
和resetPassword
方法,以复制/粘贴它们引用的路由,并删除您内部对$this
和$options
的任何引用路由文件
答案 2 :(得分:0)
我绝对认为没有任何理由要覆盖默认组。根据控制器,只需从web.php中删除Auth::routes()
,并实现自己的路由即可。