laravel/api项目基础搭建

658 阅读1分钟

这是我参与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

安装dingo/api查看本篇博客。

三、api登陆认证配置

api登陆认证配置查看本篇博客。

四、路由

4.1 路由分层

routes文件夹下复制两个api.php重命名:auth.phpadmin.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个文件夹AdminAuthWeb分别用来管理后台、认证、前台控制器。

在这里插入图片描述

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的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。