- 首先需要在 users 表中增加 phone 字段。因为是手机注册,还需要修改 email 字段为nullable。
php artisan make:migration add_phone_to_users_table --table=users
修改文件如以下,注意文件名中的变量:
database/migrations/{your_date}_add_phone_to_users_table.php
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddPhoneToUsersTable extends Migration
{
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('phone')->nullable()->unique()->after('name');
$table->string('email')->nullable()->change();
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('phone');
$table->string('email')->nullable(false)->change();
});
}
}
- 执行 migrate 生成
php artisan migrate
- 新建基类
首先来搭建一下基础环境,创建一个基础 Controller,此类作为所有 API 请求控制器的『基类』
php artisan make:controller Api/Controller
注意我们增加了一个命名空间 Api,以后接口相关的控制器,统一会放在 Api 目录中,会让代码结构更清晰。前面提到过接口版本控制的重要性,我们还可以在 Api 目录中增加 V1,V2 等目录,进一步区分不同版本的接口,为了教学方便,我们暂时不做进一步区分。 将 Controller.php 文件替换为以下的内容。
- 构建控制器
$ php artisan make:controller Api/VerificationCodesController
- API 表单请求验证类
我们通过手机号请求接口,获得短信验证码。每当我们接收用户提交的参数时,我们都需要对数据做验证,以保证数据的准确性,接下来我们创建属于 API 的表单请求验证类:
$ php artisan make:request Api/VerificationCodeRequest
同样增加了命名空间 Api,用于区分 API 与 Web 的 Request 文件。修改文件:
- 引入第三方类的方法
一、首先在项目根目录下app目录中新建一个文件夹命名为Lib(自定义名称)。
二、如果您引入第三方库多的话可以在Lib下再新建几个目录,由于我只引入了一个类,这里没有新建文件夹。(根据引入类的多少自己定义)三、找到项目根目录下的composer.json文件,可以使用ctrl+f 快速找到"autoload"字样,如下图:
三、找到项目根目录下的composer.json文件,可以使用ctrl+f 快速找到"autoload"字样,如下图:
四、将第三方类的路劲写入autoload下的classmap中,这样才能自动加载。
五、但是这样还没完,还需要在cmd控制台中切换到项目根目录,执行命令:
composer dump-autoload