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

zhangbao發表於2017-07-12

眾所周知,在 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');

(完)

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章