laravel 5.3 новый Auth:: маршруты()
недавно я начал использовать laravel 5.3 для написания блога, но у меня есть вопрос после запуска php artisan make:auth
когда я запускаю это, он будет генерировать маршруты в моем web.php
этот код:
Auth::routes();
Route::get('/home', 'HomeController@index');
тогда я бегу php artisan route:list, Я нахожу много действий, таких как LoginController@login...
но я не нашел эти действия в моем AppHttpControllersAuth, где они?
и что такое Auth::routes() стоять, я не могу найти маршруты Автор.
мне нужна помощь, Спасибо, чтобы ответить на мой вопрос
7 ответов:
Auth:: routes () - это просто вспомогательный класс, который помогает вам создавать все маршруты, необходимые для аутентификации пользователя. Вы можете просмотреть код здесь https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php вместо этого.
маршруты
// 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... $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); $this->post('register', 'Auth\RegisterController@register'); // Password Reset Routes... $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm'); $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail'); $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm'); $this->post('password/reset', 'Auth\ResetPasswordController@reset');
Auth routes для Laravel 5.3 вместо Auth:: routes(). Надеюсь, это поможет...
Route::group(['middleware' => ['web']], function() { // Login Routes... Route::get('login', ['as' => 'login', 'uses' => 'Auth\LoginController@showLoginForm']); Route::post('login', ['as' => 'login.post', 'uses' => 'Auth\LoginController@login']); Route::post('logout', ['as' => 'logout', 'uses' => 'Auth\LoginController@logout']); // Registration Routes... Route::get('register', ['as' => 'register', 'uses' => 'Auth\RegisterController@showRegistrationForm']); Route::post('register', ['as' => 'register.post', 'uses' => 'Auth\RegisterController@register']); // Password Reset Routes... Route::get('password/reset', ['as' => 'password.reset', 'uses' => 'Auth\ForgotPasswordController@showLinkRequestForm']); Route::post('password/email', ['as' => 'password.email', 'uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail']); Route::get('password/reset/{token}', ['as' => 'password.reset.token', 'uses' => 'Auth\ResetPasswordController@showResetForm']); Route::post('password/reset', ['as' => 'password.reset.post', 'uses' => 'Auth\ResetPasswordController@reset']); });поэтому, если вы измените некоторые имена этих маршрутов, не забудьте также изменить в представлениях действия сообщений!
на Laravel 5.5.x
// 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... $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); $this->post('register', 'Auth\RegisterController@register'); // Password Reset Routes... $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); $this->post('password/reset', 'Auth\ResetPasswordController@reset');
порядок вызова функции:
- (Auth)подсветка\поддержка \ фасады\Auth@маршруты (https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php)
- (приложение)Illuminate\Foundation\Application@auth
- (Маршрут)Осветите\Routing\Router
это маршрут такой:
public function auth() { // Authentication Routes... $this->get('login', 'Auth\AuthController@showLoginForm'); $this->post('login', 'Auth\AuthController@login'); $this->get('logout', 'Auth\AuthController@logout'); // Registration Routes... $this->get('register', 'Auth\AuthController@showRegistrationForm'); $this->post('register', 'Auth\AuthController@register'); // Password Reset Routes... $this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm'); $this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail'); $this->post('password/reset', 'Auth\PasswordController@reset'); }
это сработало для меня с Laravel 5.6.
в файле
web.php, просто заменить:Auth::routes();By:
//Auth::routes(); // Authentication Routes... Route::get('admin/login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('admin/login', 'Auth\LoginController@login'); Route::post('admin/logout', 'Auth\LoginController@logout')->name('logout'); // Password Reset Routes... Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); Route::post('password/reset', 'Auth\ResetPasswordController@reset');и удалить Регистрация ссылка в двух файлах ниже:
welcome.blade.php layouts/app.blade.php
ой какого Хея, вот Laravel 5.7 в том числе маршруты проверки, Если вы хотите включить их, а также.
// Authentication Routes... Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('login', 'Auth\LoginController@login'); Route::post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes... Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); Route::post('register', 'Auth\RegisterController@register'); // Password Reset Routes... Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update'); // Email Verification Routes... Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice'); Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify'); Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
класс loginuser использует признак под названием
AuthenticatesUsersЕсли вы откроете эту черту, вы увидите функции (это относится и к другим контроллерам)
Illuminate\Foundation\Auth\AuthenticatesUsers;вот код признака https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
извините за плохой формат, я использую мой телефон
и
Auth::routes()Он просто вызывает функцию, которая возвращает маршруты auth вот и все (i подумайте)
Comments