Переопределить стандартные маршруты Auth в Laravel 5.8 - PullRequest
1 голос
/ 14 апреля 2019

Я использую маршрут по умолчанию auth в моем файле web.php.

Эти маршруты скопированы из `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[] ??

Где мне определить это в моей группе маршрутов?

Спасибо за помощь.

Ответы [ 3 ]

0 голосов
/ 14 апреля 2019

Этот метод внутри Illuminate/Routing/Router.php не предназначен для копирования, как вы. Обычно его следует использовать с фасадом Auth, например: Auth::routes($options);. Это вызывает метод route() и должен выполняться внутри файла маршрута, обычно web.php, если вы ничего не меняли.

Таким образом, опции действительно принимаются во внимание. Теперь, в вашем случае, нет необходимости в дополнительном массиве $options, так как вы скопировали маршруты.

Чтобы избежать ошибок в файле маршрута, у вас есть два варианта:

1) Используйте Auth::routes() (с массивом опций, если необходимо). Конечно, вы можете переопределить маршруты, которые хотите изменить.

2) Изучите метод emailVerification и resetPassword, чтобы скопировать / вставить маршруты, на которые они ссылаются, и удалить любую ссылку на $this и $options в вашем файле маршрута

0 голосов
/ 14 апреля 2019

Я абсолютно не вижу причин перезаписывать группу по умолчанию. Просто удалите Auth::routes() из web.php и реализуйте свои собственные маршруты в соответствии с контроллерами.

0 голосов
/ 14 апреля 2019

Массив $options используется для настройки регистрации, как указано здесь . Поэтому он используется для указания того, хотите ли вы включить или отключить регистрацию пользователя, сброс пароля и проверку электронной почты.

...