ipiner / pin
轻量级 Laravel API 开发基座
v1.0.0
2026-08-09 14:12 UTC
Requires
- php: ^8.5
- ext-ctype: *
- ext-openssl: *
- ext-pdo: *
- laravel/framework: ^13.0
Requires (Dev)
- dedoc/scramble: ^0.13.22
- firebase/php-jwt: ^7.1
- godruoyi/php-snowflake: ^3.2
- laravel/facade-documenter: dev-main
- laravel/pint: ^1.15
- orchestra/testbench: ^11.1
- pestphp/pest: ^4.7
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^12
Suggests
- firebase/php-jwt: Required when using the JWT token driver.
- godruoyi/php-snowflake: Required when using the Snowflake ID generator.
README
Pin 是一个面向 Laravel API 应用的轻量级开发基座。
Pin 建立在 Laravel 原生能力之上,通过统一的工程约定,将路由定义、业务流程、查询能力、响应规范、错误处理、自动化测试与 API 文档贯穿起来,形成从设计、实现到验证的完整开发闭环。
核心特性
- 配置分层:按顺序加载并递归合并配置,灵活覆盖所需配置项。
- 路由枚举:使用枚举定义 API 路由,并贯穿路由注册、URL 生成与接口测试。
- Action:组织业务流程,使业务逻辑保持清晰、独立且易于测试。
- 查询对象:基于验证规则声明查询能力,并转换为 Eloquent 查询条件。
- 错误码:使用枚举定义错误码,统一 API 错误规范。
- Fake 数据:基于验证规则生成模拟数据,快速构建接口测试场景。
- HTTP 测试:基于路由枚举构建测试请求,保持测试代码与路由定义一致。