php laravel 5.3 新 Auth::routes()
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/39196968/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
laravel 5.3 new Auth::routes()
提问by g1eny0ung
Recently I start to use laravel 5.3 to write a blog, but I have a question after run php artisan make:auth
最近开始用laravel 5.3写博客,但是运行后有个问题 php artisan make:auth
when I run this, it will generate routes in my web.php
当我运行它时,它会在我的 web.php
this is the code in it:
这是其中的代码:
Auth::routes();
Route::get('/home', 'HomeController@index');
Then I run php artisan route:list
, I find lots of actions, like LoginController@login...
然后我运行php artisan route:list
,我发现了很多操作,比如 LoginController@login...
But I didn't find these actions in my App\Http\Controllers\Auth
, where are these?
但是我在我的App\Http\Controllers\Auth
.
And also what is the Auth::routes()
stand for, I can't find the routes about Auth.
还有什么是Auth::routes()
立场,我找不到关于Auth的路线。
I need someone help, thank you to answer my question
我需要别人的帮助,谢谢你回答我的问题
回答by Lee
Auth::routes()
is just a helper class that helps you generate all the routes required for user authentication. You can browse the code here https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.phpinstead.
Auth::routes()
只是一个帮助类,可以帮助您生成用户身份验证所需的所有路由。您可以在此处浏览代码https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php。
Here are the routes
以下是路线
// 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');
回答by Walter Pozzguo
Auth routes for Laravel 5.3 instead Auth::routes(). I hope it helps...
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']);
});
So if you change some names of these routes, remember to also change in views the actions of the posts!
因此,如果您更改这些路线的某些名称,请记住也要更改帖子的操作!
回答by zyglobe
Here's Laravel 5.7, Laravel 5.8, Laravel 6.0, and Laravel 7.0(note a minor bc change in 6.0 to the email verification route).
这是Laravel 5.7、Laravel 5.8、Laravel 6.0和Laravel 7.0(注意 6.0 中电子邮件验证路线的一个小改动)。
// 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');
// Confirm Password (added in v6.2)
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');
// Email Verification Routes...
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify'); // v6.x
/* Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify'); // v5.x */
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
You can verify these routes here:
您可以在此处验证这些路线:
- v5.7https://github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/Router.php#L1176
- v5.8https://github.com/laravel/framework/blob/5.8/src/Illuminate/Routing/Router.php#L1151
- v6.0https://github.com/laravel/framework/blob/6.x/src/Illuminate/Routing/Router.php#L1178
- v7.0https://github.com/laravel/ui/blob/2.x/src/AuthRouteMethods.php(This has been moved to the laravel/ui package)
- v 5.7 https://github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/Router.php#L1176
- v 5.8 https://github.com/laravel/framework/blob/5.8/src/Illuminate/Routing/Router.php#L1151
- v 6.0 https://github.com/laravel/framework/blob/6.x/src/Illuminate/Routing/Router.php#L1178
- v 7.0 https://github.com/laravel/ui/blob/2.x/src/AuthRouteMethods.php(已移至laravel/ui包)
回答by Farid Movsumov
For Laravel 5.5.x
对于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');
回答by DevonDahon
This worked for me with Laravel 5.6.
这对我有用 Laravel 5.6。
In the file web.php
, just replace:
在文件中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');
And remove the Registerlink in the two files below:
并删除以下两个文件中的注册链接:
welcome.blade.php
layouts/app.blade.php
回答by SilentCat
function call order:
函数调用顺序:
- (Auth)Illuminate\Support\Facades\Auth@routes (https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php)
- (App)Illuminate\Foundation\Application@auth
- (Route)Illuminate\Routing\Router
- (Auth)Illuminate\Support\Facades\Auth@routes ( https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php)
- (App)Illuminate\Foundation\Application@auth
- (Route)Illuminate\Routing\Router
it's route like this:
路线是这样的:
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');
}
回答by kunal rajput
If you are searching these same routes for laravel 7 version you'll find it here Vendor/laravel/ui/src/AuthRouteMethods.php
如果您正在为 laravel 7 版本搜索这些相同的路线,您会在这里找到它 Vendor/laravel/ui/src/AuthRouteMethods.php
回答by Shay
I'm surprised nobody mentioned the command php artisan route:list
, which gives a list of all registered app routes (including Auth::routes()
and Passport::routes()
if registered)
我很惊讶没有人提到的命令php artisan route:list
,这给所有注册的应用程序的路线列表(包括Auth::routes()
与Passport::routes()
如注册)
回答by Achraf Khouadja
the loginuser class uses a trait called AuthenticatesUsers
loginuser 类使用称为 AuthenticatesUsers
if you open that trait you will see the functions (this applies for other controllers)
Illuminate\Foundation\Auth\AuthenticatesUsers;
如果您打开该特性,您将看到功能(这适用于其他控制器)
Illuminate\Foundation\Auth\AuthenticatesUsers;
here is the trait code https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
这是特征代码https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
sorry for the bad format, im using my phone
抱歉格式不正确,我正在使用我的手机
also Auth::routes()
it just calls a function that returns the auth routes thats it (i think)
Auth::routes()
它也只是调用一个返回身份验证路由的函数(我认为)