老子受够了写路由和文档!自己撸了个注解驱动的极简 PHP API 框架 :Restina Framework

最近在搞新项目,又要写路由映射,又要维护 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

+1

发表回复