Laravel 的 make:auth Artisan 命令到底生成了哪些文件?

众所周知,在 Laravel 中执行

$ php artisan make:auth
$ php artisan migrate

命令后,我们就能拥有一个完整的登录、注册认证系统,这为开发带来极大的便利。

make:auth 命令执行,到底生成了哪些文件、做了哪些修改呢?

在此之前,需要清楚的是,安装完一个 Laravel 项目后:

  1. 框架内部已存在认证所需的控制器。在 App\Http\Controllers\Auth 命名空间下,包括 LoginControllerRegisterControllerForgotPasswordControllerResetPasswordController 四个控制器。
  2. 框架内部已存在认证所需的迁移表文件。在 database/migrations 文件夹下,包括 2014_10_12_000000_create_users_table.php2014_10_12_100000_create_password_resets_table.php 两个。

当执行 php artisan make:auth 命令时,Laravel 做了什么 官方文档有说,具体是生成、修改了下面的文件:

视图

创建了下面的 6 个 Blade 视图文件。

  1. home.blade.php
  2. layouts/app.blade.php
  3. auth/login.blade.php
  4. auth/register.blade.php
  5. auth/passwords/email.blade.php
  6. auth/passwords/reset.blade.php

控制器

创建了 1 个控制器 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 index()
    {
        return view('home');
    }
}

路由

routes/web.php 中注册了认证系统使用的路由。

Auth::routes();

Route::get('/home', 'HomeController@home')->('name');

(完)