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
使用 Composer 安装包
composer require luracast/restler:^6.0 - 2
创建 API 类和映射它的 public/index.php 网关(参见 README)
- 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 数据每日更新。
相关项目
将 Laravel 和 Lumen 应用无缝运行在 Swoole 上的适配器,支持常驻内存的 HTTP、WebSocket 与异步任务。
3879463PHPMIT更新于 5天前
Symfony 是一个用于构建 Web 与命令行应用的 PHP 框架,同时提供一组可复用的 PHP 组件。
3.1万+114 本周9942PHPMIT更新于 17小时前
基于标准 Python 类型提示构建 API 的 Python Web 框架,内置数据校验与自动生成的交互式文档。
10.4万+191 本周1万PythonMIT更新于 昨天