Laravel自带用户脚手架系统,可以非常方便的实现创建用户的注册、登陆、密码找回等功能。
在我们创建的Laravel项目中是没有用户脚手架系统的,需要我们创建项目之后再添加用户脚手架。
我们先建立一个全新的Laravel5.5项目:
composer create-project laravel/laravel=5.5 blog
创建好之后,我们用Phpstorm打开项目,打开.env配置文件。
找到这些代码,是数据库配置信息。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
首先本地得安装好MYSQL,这个直接官网安装就行,其中会设置数据库密码,然后打开服务。
可视化数据库管理软件可以安装MySQLWorkbench、Sequel Pro、Navicat Premium等软件。
之后本地连接数据库,创建一个数据库,这里就创建一个名为blog的数据库吧。
我们把.env中的数据库信息改成:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=你数据库的密码
项目数据库配置信息确保无误之后,可以打开终端输入:
php artisan migrate
于是我们看到了:
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
意思是database/migrations下的数据表入库了。
migrations目录默认包含两张表文件
2014_10_12_000000_create_users_table.php
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
2014_10_12_100000_create_password_resets_table.php
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePasswordResetsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('password_resets');
}
}
我们刷新数据库的表:
可以看到多出了三张表,这是基本的用户系统所需要的表,接下来我们创建用户系统!
终端执行:
php artisan make:auth
Authentication scaffolding generated successfully.
现在我们发现resources/view下多了一些文件:
输入命令:
valet link blog
Chrome打开测试链接blog.test,发现页面右上角多了登陆和注册按钮。
可以进行用户注册和登陆的测试,然后在数据库中查看数据表添加的数据。
到这里,一个基本的用户系统就搭建好了。
系列文章: