1codehappy / laravel-api
此包已被弃用且不再维护。未建议替代包。
Laravel Restful Apis 的模板。
2.0.2
2022-03-26 19:17 UTC
Requires
- php: ^8.1
- darkaonline/l5-swagger: ^8.0
- fruitcake/laravel-cors: ^2.0
- guzzlehttp/guzzle: ^7.0.1
- itsgoingd/clockwork: ^5.1
- jessarcher/laravel-castable-data-transfer-object: ^2.1
- laracasts/presenter: dev-chore/laravel-9
- laravel/framework: ^9.0
- laravel/tinker: ^2.5
- php-open-source-saver/jwt-auth: ^1.4
- spatie/data-transfer-object: ^3.0
- spatie/laravel-fractal: ^6.0
- spatie/laravel-permission: ^5.0
- spatie/laravel-query-builder: ^5.0
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.9
- brianium/paratest: ^6.2
- enlightn/security-checker: ^1.10
- fakerphp/faker: ^1.9.1
- friendsofphp/php-cs-fixer: ^3.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0
- pestphp/pest-plugin-faker: ^1.0
- pestphp/pest-plugin-laravel: ^1.2
- pestphp/pest-plugin-parallel: ^1.0
- phpunit/phpunit: ^9.3.3
- spatie/laravel-ignition: ^1.0
README
这是一个简单、现代且优雅的 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。
- POST
- 用户资料
- GET
/auth/me
: 获取认证用户的资料。 - PUT
/auth/me
: 编辑认证用户的资料。 - PUT
/auth/me/password
: 更改认证用户的密码。
- GET
- ACL
- GET
/permissions
: 获取权限列表。 - GET
/roles
: 获取角色列表。 - GET
/roles/{uuid}
: 获取角色。 - POST
/roles
: 创建新的角色。 - PUT
/roles/{uuid}
: 编辑角色。 - DELETE
/roles/{uuid}
: 删除角色。
- GET
- 用户
- GET
/users/
: 获取用户列表。 - GET
/users/{uuid}
: 获取用户。 - POST
/users
: 创建新用户。 - PUT
/users/{uuid}
: 编辑用户。 - DELETE
/users/{uuid}
: 删除用户。
- GET
API 文档
要生成 API 文档
php artisan l5-swagger:generate # or `composer doc`
PHP 库
- Laracasts Presenter Github
- Clockwork Github 文档
- PHP Open Source Saver JWT Github 文档
- Jess Archer Castable Github
- 空间数据传输对象 GitHub
- 空间 Laravel Fractal GitHub
- 空间 Laravel 查询构建器 GitHub 文档
- 空间权限 Github 文档
- Darka On Line Swagger GitHub
- PHP朋友 CS Fixer GitHub 文档
- Laravel IDE 辅助 GitHub
- Larastan GitHub 文档
- PestPHP GitHub 文档
- Enlightn 安全检查器 GitHub
Composer 脚本
composer clear
:清除 Laravel 缓存。composer optimize
:优化 API。composer cs
:修复代码风格。composer analyse
:运行 larastan。composer test
:运行 pestphp。composer sec
:检查 PHP 库。composer code
:运行cs
、analyse
、test
和sec
。composer doc
:生成 API 文档。
由 CodeHappy ;)