资源描述
fastd 是一个基于 PHP(Swoole)构建的高性能异步 API 框架,专为高并发、低延迟 RESTful 服务设计。适用于微服务接口层、实时数据中台、API 网关及轻量级后端服务开发,兼顾开发效率与运行性能。支持协程、依赖注入、中间件、路由分组与热重载,显著提升 PHP API 开发体验与吞吐能力。
详细内容
## 框架简介与定位
fastd 是一个面向现代 PHP 生态的高性能异步 API 框架,底层基于 Swoole 扩展(支持协程模式),定位为「专注 API 构建的极简框架」。它不追求全栈功能,而是聚焦于 RESTful 接口开发、服务响应优化与可维护性,适合构建微服务接口层、BFF(Backend for Frontend)、数据聚合服务及内部 RPC 接口网关。
## 核心特性
- **协程驱动 & 高并发支持**:原生集成 Swoole 协程运行时,单进程可轻松处理数千并发连接,显著降低 I/O 等待开销。
- **轻量级 DI 容器**:内置 PSR-11 兼容依赖注入容器,支持自动依赖解析、作用域管理(Singleton/Transient)与条件绑定。
- **声明式路由与中间件**:支持基于注解或配置的 RESTful 路由定义,提供全局/分组/路由级中间件机制,兼容 PSR-15 标准。
- **结构化异常与统一响应**:内置标准化错误处理流程,自动捕获未捕获异常并返回符合 RFC 7807 的 Problem Details 响应格式。
- **热重载与开发友好**:通过 `fastd serve` 命令启动开发服务器,支持文件变更自动重启(需配合 inotify 或 fswatch),提升本地迭代效率。
## 适用场景
- 需要高吞吐、低延迟的内部 API 服务(如订单中心、用户中心对接层)
- 前端/移动端 BFF 层,聚合多个后端服务并做协议转换与字段裁剪
- 实时数据接口(如 WebSocket 信令服务、长轮询状态推送)
- 快速交付的中小型项目后端 API(替代传统 Laravel/Lumen 的轻量选择)
- 作为 Swoole 微服务生态中的标准 API 入口框架
## 快速入门步骤
1. **环境要求**:PHP ≥ 8.0,已安装 Swoole ≥ 5.0(启用协程、HTTP Server 支持)
2. **安装**:
```bash
composer create-project fastd/framework my-api
cd my-api
```
3. **最小示例**:编辑 `app/Http/Controllers/HomeController.php`,添加 `index()` 方法返回 JSON;在 `routes/web.php` 中注册路由 `GET / -> [HomeController::class, 'index']`;执行 `php bin/server start` 启动服务,访问 `http://127.0.0.1:8000` 即可看到响应。
## 生态与社区说明
fastd 由 FastD Labs 团队维护,源码托管于 GitHub(官方文档站点 http://fastdlabs.com/#/ 提供完整 API 参考与最佳实践)。社区以中文为主,提供 Slack 讨论频道与 GitHub Issues 技术支持。框架遵循 MIT 协议,核心模块高度解耦,可与 Monolog、Doctrine DBAL、Redis 扩展等主流组件无缝集成;亦提供 `fastd/swoole-http`、`fastd/middleware-jwt` 等官方扩展包增强能力。