1codehappy/laravel-api

此包已被弃用且不再维护。未建议替代包。

Laravel Restful Apis 的模板。


README

CircleCI

这是一个简单、现代且优雅的 Laravel API 模板,基于 Laravel Beyond Crud,应用领域驱动设计和六边形架构原则。

特性

  • PHP 8.1+
  • Laravel 9 Github 文档
  • CircleCI 网站
  • RESTful API
  • JWT 认证
  • ACL & Laravel Policies
  • PestPHP 测试
  • OpenApi 文档

安装

使用 composer 创建您的项目。

composer create-project 1codehappy/laravel-api myApi

目录结构

请查看以下目录结构

|-- app/
    |-- Backend # Api & Artisan commands
    |-- Domain # Domains
    |-- Support # Commons & Api Documentation

工厂

<?php

$user = User::factory()->hasRoles()->hasPermissions()->create();
$roles = Role::factory()->hasPermissions()->count(2)->create();
$permissions = Permission::factory()->count(3)->create();

$user->assignRole($roles->pluck('name')->all()) # Assign 2 random roles.
  ->givePermissionTo($permissions->pluck('name')->all()) # Give 3 random permissions.
  ->load('roles', 'permissions'); # Load object relations.

路由

GET /api-docs

  • 认证
    • POST /auth/login: 登录。
    • POST /auth/logout: 登出。
    • POST /auth/refresh: 刷新 JWT Token。
  • 用户资料
    • GET /auth/me: 获取认证用户的资料。
    • PUT /auth/me: 编辑认证用户的资料。
    • PUT /auth/me/password: 更改认证用户的密码。
  • ACL
    • GET /permissions: 获取权限列表。
    • GET /roles: 获取角色列表。
    • GET /roles/{uuid}: 获取角色。
    • POST /roles: 创建新的角色。
    • PUT /roles/{uuid}: 编辑角色。
    • DELETE /roles/{uuid}: 删除角色。
  • 用户
    • GET /users/: 获取用户列表。
    • GET /users/{uuid}: 获取用户。
    • POST /users: 创建新用户。
    • PUT /users/{uuid}: 编辑用户。
    • DELETE /users/{uuid}: 删除用户。

API 文档

要生成 API 文档

php artisan l5-swagger:generate # or `composer doc`

PHP 库

Composer 脚本

  • composer clear:清除 Laravel 缓存。
  • composer optimize:优化 API。
  • composer cs:修复代码风格。
  • composer analyse:运行 larastan。
  • composer test:运行 pestphp。
  • composer sec:检查 PHP 库。
  • composer code:运行 csanalysetestsec
  • composer doc:生成 API 文档。

CodeHappy ;)