手记

fastd 3.1 基于 Swoole 扩展的API框架

自 3.0 发布以来,FastD 终于确定了发展的路线,最终还是和 Swoole 走在了一起,并且基于 Swoole 提供强大的性能支持。项目地址: FastD

优势:

  1. 简单,灵活,开发服务与开发 Web 一样简单
  2. 同时支持 HTTP、TCP、UDP、WebSocket 等服务器
  3. 麻雀虽小,五脏俱全
  4. 专注底层 API 开发

FastD 已经在很多场景已经使用,特别针对后端 RESTful API上,已经构建不少的内部服务,后续会陆续开源一些中小型的解决方案,用于发现问题和解决问题。

理念: 化繁为简

FastD 的理念是: 提供一个主干,让开发者灵活拆卸零件(ServiceProvider),让项目,功能更加独立和灵活。不同于 Symfony、Laravel,FastD 仅提供最基础的核心主干,其他均由开发者自助组装

框架不会过度整合太多不必要的组件,现在不会,未来也不会。并且框架定位于后端 API 开发中,不会整合模板,如果有必要的话,可以自己组装一个模板扩展或者提供器进行整合。

如果你的团队正打算分离 API 和前端,不妨尝试一下。

流程图

+--------------+         +-------------------+                           
|              |         |                   |                           
|    client    |-------->|  new application  |                           
|              |         |                   |                           
+--------------+         +-------------------+                           
        ^                          |                                     
        |                          |                                     
        |                          |                                     
        |                          v                                     
        |                +-------------------+                           
        |                |                   |                           
        |                |     bootstrap     |                           
        |                |                   |                           
        |                +-------------------+                           
        |                          |                                     
        |                          |                                     
        |                          v                                     
        |                +------------------+                            
        |                |                  |                            
        |                | service provider |                            
        |                |                  |                            
        |                +------------------+                            
        |                          |                                     
        |                          v                                     
        |                +------------------+        +------------------+
        |                |                  |        |                  |
        |                |  handle request  |------->|  route dispatch  |
        |                |                  |        |                  |
        |                +------------------+        +------------------+
        |                          |                           |         
        |                   +------+------+                    |         
        |                   |  exception  |                    |         
        |                   +------+------+                    |         
        |                          |                           |         
        |                          v                           v         
        |                +------------------+         +-----------------+
        |                |                  |         |                 |
        |                | handle exception |         | call middleware |
        |                |                  |         |                 |
        |                +------------------+         +-----------------+
        |                          |                           |         
        |                          |                           |         
        |                          v                           |         
        |                +------------------+                  |         
        |                |                  |                  |         
        +----------------| handle response  |<-----------------+         
                         |                  |                            
                         +------------------+                            

贡献

非常感谢一下两位小伙伴,提供宝贵的意见和PR,希望未来会有更多感兴趣的朋友参与其中。

非常欢迎感兴趣,愿意参与其中,共同打造更好PHP生态,Swoole生态的开发者。

如果你乐于此,却又不知如何开始,可以试试下面这些事情:

  • 在你的系统中使用,将遇到的问题 反馈

简单上手

$ pecl install swoole
$ composer create-project --stability=rc fastd/dobee
启动 Web 框架
$ php -S localhost:9876 -t web
访问 Web
$ curl -i http://localhost:9876/

更多操作及文档请访问: FastD中文文档

反馈&帮助

如果你在使用中遇到问题,请联系: bboyjanhuang@gmail.com. 微博: [编码侠]

3人推荐
随时随地看视频
慕课网APP