最近在搞新项目,又要写路由映射,又要维护 Swagger 文档,写着写着火就上来了。
明明代码逻辑就写在那,为啥还要在路由表里抄一遍?为啥改个参数还要去改文档?
于是,我基于 Slim 和 Eloquent 捅咕出了这个玩意儿——Restina Framework。
这不是什么颠覆性的发明,就是个为了让自己少写代码的“偷懒工具”。
1. 我是真的不想写路由表了
以前写代码:
- 写完
UserController.php。 - 去
routes/web.php里再写一遍GET /user -> UserController@index。
现在用 Restina:
你只需要在方法头上贴个标签,它就自动生效了。
/**
* @route GET /api/users
*/
public function index() { ... }
框架会自动扫描! 扫完就能用。
这叫“代码即路由”。改代码不用去改配置,心里舒坦多了。
2. Swagger 文档?我拒绝手写!
最烦写接口文档。每次改个字段,还得去改 Swagger 的注解,那堆 @OA\... 看得眼花缭乱。
Restina 直接说:别写了,我看你的 PHPDoc 就行。
你平时写代码不都写 @param 和 @return 吗?Restina 直接把这些注释翻译成 Swagger JSON。
你访问 /swagger,直接出标准的 OpenAPI 页面。
“注释即文档”,这波操作是不是很骚?
3. 参数校验太繁琐?一行注释搞定
以前做参数校验,Controller 里一堆 if (empty($name)) ...,全是垃圾代码。
Restina 引入了 @v 标签,直接在注释里写规则:
@param string $email {@v email|required}
@param int $age {@v min:18}
不符合规则?直接给你返回 400 错误,连 if 都不用写。
代码里全是核心业务逻辑,看着多清爽。
4. 纯纯的 PHP 8 味儿
这框架我直接锁死 PHP 8.4+。
别问为什么,问就是强类型真香。
用了严格模式,IDE 提示贼准,再也不用担心传个字符串进去当数字用了。代码写得那叫一个安心。
5. 怎么用?快得飞起
不想搞复杂的安装教程,Composer 一条命令搞定:
composer require ivupcn/restina
配一下自动加载,Nginx 指向 public/index.php。
没了,就这么多配置。剩下的时间,都去写业务代码吧。
最后叨叨两句
Restina 没啥宏大的理想,它就是想让你写 API 的时候少受点罪。
基于 Slim 的高性能底座,加上 Eloquent 的 ORM,再配上这套注解系统,开发速度直接起飞。
代码已经开源(Apache 2.0 协议),不收钱,随便改。
如果你也烦那些繁琐的配置,觉得“能运行的代码才是好代码,少敲键盘才是硬道理”,那就来试试。
GitHub 地址:https://github.com/ivupcn/restina-framework