众所周知,在 Laravel 中执行
$ php artisan make:auth
$ php artisan migrate
命令之后,我们就拥有一个完整的登录、注册认证系统,这为开发带来很大的便利。
但 make:auth
命令执行后都生成了哪些文件、做了哪些修改呢?
在此之前需要弄清楚的是,安装完一个项目后:
- 框架内部已存在认证所需的控制器。在
App\Http\Controllers\Auth
命名空间下,包括LoginController
、RegisterController
、ForgotPasswordController
和ResetPasswordController
四个控制器。 - 框架内已存在认证所需的迁移表文件。在
databases\migrations
文件夹下,包括2014_10_12_000000_create_users_table.php
和2014_10_12_100000_create_password_resets_table.php
两个。
当执行 php artisan make:auth
命令时,具体生成修改下面的文件:
视图
创建下面的6个 Blade 视图文件:
-
home.blade.php
。 -
layouts\app.blade.php
。 -
auth\login.blade.php
。 -
auth\register.blade.php
。 -
auth\password\email.blade.php
。 -
auth\password\reset.blade.php
。
控制器
创建了一个控制器:HomeController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function _construct(){
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function home(){
return view('home');
}
}
路由
在 routes\web.php
中注册了认证系统中使用的路由:
Auth::routes();
Route::get('/home', 'HomeController@home')->name('home');