Laravel 的 make:auth Artisan 命令到底生成了哪些文件?
众所周知,在 Laravel 中执行
$ php artisan make:auth
$ php artisan migrate
命令后,我们就能拥有一个完整的登录、注册认证系统,这为开发带来极大的便利。
但 make:auth
命令执行,到底生成了哪些文件、做了哪些修改呢?
在此之前,需要清楚的是,安装完一个 Laravel 项目后:
- 框架内部已存在认证所需的控制器。在
App\Http\Controllers\Auth
命名空间下,包括LoginController
、RegisterController
、ForgotPasswordController
和ResetPasswordController
四个控制器。 - 框架内部已存在认证所需的迁移表文件。在
database/migrations
文件夹下,包括2014_10_12_000000_create_users_table.php
和2014_10_12_100000_create_password_resets_table.php
两个。
当执行 php artisan make:auth
命令时,Laravel 做了什么 官方文档有说,具体是生成、修改了下面的文件:
视图
创建了下面的 6 个 Blade 视图文件。
home.blade.php
。layouts/app.blade.php
。auth/login.blade.php
。auth/register.blade.php
。auth/passwords/email.blade.php
。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');
(完)