Download the PHP package mitirrli/laravel-skeleton without Composer
On this page you can find all versions of the php package mitirrli/laravel-skeleton. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-skeleton
Laravel API 基础模板
开箱即用的 Laravel API 基础结构。
自己用的哈,仅供参考,不提供咨询解答服务。
特点
- 内置 laravel/sanctum 的授权机制;
- 高度完善的控制器、模型、模块模板;
- 集成常用基础扩展;
- 内置模型通用高阶 Traits 封装;
- 自动注册 Policies;
- 内置用户系统和基础接口;
- 内置管理后台接口;
安装
-
创建项目
-
创建配置文件
- 创建数据表和测试数据
这一步将会创建管理员账号
username:admin / password:changeThis!!
和一个 demo 设置项。
然后访问 http://laravel-skeleton.test/api/settings
将会看到演示的设置项信息。
使用
创建新模块
模型关系加载
我们可以在前端请求时动态决定接口返回哪些模型关系,例如 User
模型有一个 posts
关系,我们的用户列表控制器如下 UserController@index
:
默认不会返回 posts
关系,当前端请求的 URL 如下时将会返回:
如果期望返回指定的字段,则可以这样构造 URL:
这样返回结果中 posts
结果将只包含 id,title,updated_at
。
注意:这里不能省略掉关系的 id 字段,否则关系将无法正常加载。
模型搜索功能
项目已经内置的基本的搜索支持,您只需要在模型引入 App\Traits\Filterable
,然后配置 filterable
属性即可:
控制器开启搜索功能,只需要调用 filter()
方法即可:
URL 中只需要传递对应的参数值即可:
自定义搜索
默认使用相等查询,如果需要自定义搜索字段,直接在模型中添加 filterXXX
方法实现,比如我们想实现文章标题模糊查询:
然后 URL 上使用 title=关键字
就能实现模糊查询了。
当然,你也可以定义模型中不存在的字段。
静默更新
我们有时候会想更新数据库中的记录,但是不希望触发 updated_at
更新,则可以在模型引入 App\Traits\QuietlySave
或者 App\Traits\QuietlyUpdate
这两个 trait:
内置接口
用户登录(获取 token)
POST /api/login
-
Request (
application/json
) - Response 200 (application/json)
用户注册
POST /api/register
-
Request (
application/json
) - Response 200 (
application/json
)
登出
POST /api/logout
-
Request (
application/json
)- Headers
- Response 204
获取当前登录用户
GET /api/user
-
Request (
application/json
)- Headers
- Response 200 (
application/json
)
获取全局设置
GET /api/settings
- Response 200 (
application/json
)
License
MIT
All versions of laravel-skeleton with dependencies
ext-json Version *
fideloper/proxy Version ^4.4.1
fruitcake/laravel-cors Version ^2.0.3
laravel/framework Version ^8.14.0
laravel/sanctum Version ^2.8.0
laravel/tinker Version ^2.5.0
guzzlehttp/guzzle Version ^7.2.0
overtrue/laravel-lang Version ^4.1.1
overtrue/laravel-options Version ^2.0.0
predis/predis Version ^1.1.6