Repolode
Luracast

Luracast/Restler

基于 PHP 8+ 的 REST API 框架,通过反射从普通类方法自动生成路由、参数校验和 OpenAPI 文档。

Star
1,386
Fork
313
未关闭 Issue
33
最近提交
3天前

这是什么?

Restler 让开发者把 API 逻辑写成普通的 PHP 类方法。框架借助反射以及 PHPDoc 注释或属性,把方法映射为 HTTP 路由,校验带类型的参数,并生成 OpenAPI 3.0 文档,附带 Swagger UI 交互式浏览页面,省去大部分手写路由和控制器的工作。

默认返回 JSON,配置后可通过 .xml、.csv、.xlsx 等扩展名切换输出格式。运行方式包括 PHP-FPM、Swoole 或 OpenSwoole(长连接、高吞吐)、ReactPHP、Workerman,以及通过 Bref 部署到 AWS Lambda。项目还内置 GraphQL 支持、OAuth 2.0 服务端示例和限流功能。

项目要求 PHP 8.0 及以上版本,通过 Composer 安装。仓库提供了从 v5 升级的迁移指南,以及涵盖 CRUD、鉴权、版本管理和 HTML 模板的示例项目。

核心功能

  • 01通过反射将类方法自动映射为 REST 路由
  • 02自动校验带类型的参数并返回对应的 HTTP 状态码
  • 03从 PHPDoc 注释生成 OpenAPI 3.0 文档并提供 Swagger UI
  • 04默认输出 JSON,配置后支持 XML、CSV、XLSX、YAML 和 HTML
  • 05可运行于 PHP-FPM、Swoole/OpenSwoole、ReactPHP、Workerman 或 AWS Lambda
  • 06内置 GraphQL 支持、限流以及 OAuth 2.0 服务端示例

适用场景

  • 在现有 PHP 项目中快速构建内部 API 或微服务
  • 用同一组接口同时向现代前端返回 JSON,向老系统返回 XML 或 CSV
  • 通过生成器流式导出大数据量的 CSV 或 Excel 文件
  • 为老旧 PHP 应用增加 REST API 层,逐步实现现代化改造

快速上手

  1. 1

    使用 Composer 安装包

    composer require luracast/restler:^6.0
  2. 2

    创建 API 类和映射它的 public/index.php 网关(参见 README)

  3. 3

    启动内置 PHP 服务器

    php -S localhost:8080 -t public

使用前须知

  • 需要 PHP 8.0 或更高版本。
  • 项目元数据中未指定许可证。
  • v6 相对 v5 有破坏性变更,升级需要参考迁移指南。

收录于专题

标签

常见问题

Restler 是什么?
基于 PHP 8+ 的 REST API 框架,通过反射从普通类方法自动生成路由、参数校验和 OpenAPI 文档。 Restler 让开发者把 API 逻辑写成普通的 PHP 类方法。框架借助反射以及 PHPDoc 注释或属性,把方法映射为 HTTP 路由,校验带类型的参数,并生成 OpenAPI 3.0 文档,附带 Swagger UI 交互式浏览页面,省去大部分手写路由和控制器的工作。
Restler 可以免费使用吗?用的什么许可证?
Restler 没有声明许可证。代码虽然公开,但没有许可证就没有明确的使用授权,正式使用前建议先联系作者。
Restler 还在维护吗?
活跃维护中。Restler 最近一次提交是在 2026年11月4日。
Restler 适合用来做什么?
在现有 PHP 项目中快速构建内部 API 或微服务 用同一组接口同时向现代前端返回 JSON,向老系统返回 XML 或 CSV 通过生成器流式导出大数据量的 CSV 或 Excel 文件 为老旧 PHP 应用增加 REST API 层,逐步实现现代化改造
Restler 怎么安装和运行?
使用 Composer 安装包: composer require luracast/restler:^6.0 创建 API 类和映射它的 public/index.php 网关(参见 README) 启动内置 PHP 服务器: php -S localhost:8080 -t public
在哪里获取 Restler?
源代码和安装说明在 GitHub 上:https://github.com/Luracast/Restler

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目