这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战
一、链接虚拟机创建新项目
1.1、链接虚拟机
sudo vagrant up:
1.2、创建新项目
进入到code文件夹下,运行命令
composer create-project --prefer-dist laravel/laravel=8.4.4 shopProjectApi创建laravel项目:
1.3、修改配置
然后修改homestead.yaml:
运行命令
vagrant reload --provision重启虚拟机:
然后再在
/etc/host下写入域名映射:
二、安装dingo/api
三、api登陆认证配置
四、路由
4.1 路由分层
在routes文件夹下复制两个api.php重命名:auth.php, admin.php,一个是权限相关的路由,一个是后台相关的路由:
4.2 路由注册
在app\Providers\Providers\RouteServiceProvider.php下进行注册刚刚创建的两个路由:
/** 用户认证相关路由 */
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/auth.php'));
/** 后台路由 */
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/admin.php'));
五、控制器准备
5.1 控制器分组
在app/Http/Controllers文件夹下创建3个文件夹Admin、Auth、Web分别用来管理后台、认证、前台控制器。
5.2 创建基础控制器
命令:php artisan make:controller BaseController
BaseController代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Dingo\Api\Routing\Helpers;
class BaseController extends Controller
{
use Helpers;
}
使用dingo/api的响应生成器,控制器需要使用 Dingo\Api\Routing\Helpers。以后创建的控制权都继承基础控制器。
六、api文档
api文档上我们使用showdoc,
我们可以新建项目,在项目在分模块写文档,这部分就不在这里赘述了。
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。