SWOFT

优质
小牛编辑
139浏览
2023-12-01

Latest Stable VersionBuild StatusDocker Build StatusPhp VersionSwoole VersionSwoft DocSwoft LicenseGitter

      ___            ___            ___            ___                
     /  /\          /__/\          /  /\          /  /\         ___   
    /  /:/_        _\_ \:\        /  /::\        /  /:/_       /  /\  
   /  /:/ /\      /__/\ \:\      /  /:/\:\      /  /:/ /\     /  /:/  
  /  /:/ /::\    _\_ \:\ \:\    /  /:/  \:\    /  /:/ /:/    /  /:/   
 /__/:/ /:/\:\  /__/\ \:\ \:\  /__/:/ \__\:\  /__/:/ /:/    /  /::\   
 \  \:\/:/~/:/  \  \:\ \:\/:/  \  \:\ /  /:/  \  \:\/:/    /__/:/\:\  
  \  \::/ /:/    \  \:\ \::/    \  \:\  /:/    \  \::/     \__\/  \:\ 
   \__\/ /:/      \  \:\/:/      \  \:\/:/      \  \:\          \  \:\
     /__/:/        \  \::/        \  \::/        \  \:\          \__\/
     \__\/          \__\/          \__\/          \__\/               

Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。

Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。

  • 内置高性能网络服务器(Http/Websocket/RPC/TCP)
  • 灵活的组件功能
  • 强大的注解功能
  • 多样化的命令终端(控制台)
  • 强大的面向切面编程(AOP)
  • 容器管理,依赖注入(DI)
  • 灵活的事件机制
  • 基于PSR-7的HTTP消息的实现
  • 基于PSR-14的事件管理
  • 基于PSR-15的中间件
  • 国际化(i18n)支持
  • 简单有效的参数验证器
  • 高性能连接池(Mysql/Redis/RPC),自动重新连接
  • 数据库高度兼容Laravel的使用方式
  • Redis高度兼容Laravel的使用方式
  • 秒级定时任务
  • Session 管理
  • 进程池
  • 高效的任务处理
  • 灵活的异常处理
  • 强大的日志系统
  • 服务注册与发现
  • 配置中心
  • 服务限流
  • 服务降级
  • 服务熔断
  • Apollo
  • Consul
更多组件及其用法,请看文档

关于 Swoft

Swoft 是基于 Swoole 的企业级 PHP 应用程序开发框架,大量开发人员使用 Swoft Framework 来创建高性能、易于测试和可重用的代码。

Swoft 开源框架自 2018 年 3 月 6 日发布以来,我们秉承简单、高效、稳定的宗旨持续迭代升级。伴随着 1.x 的开发迭代和 Swoole 4 全协程化,1.x 的底层架构已经不再合适,所以在 2018 年 11 月开始规划 2.x。新版本底层借鉴 1.x 的经验全部重写,采用 Swoole Hook 全协程化,整体相比 1.x 更易上手,稳定性也更高。

Swoft 是一款轻量级的框架,所有组件均可以自定义且支持按需加载使用。

Swoft 框架可用于开发任何 Web 应用程序,构建高性能的 Web 系统、API、中间件、基础服务等。

优势

Swoft Framework 的优点:

  • 以组件化方式开发,开发者可以自定义组件并按需加载使用
  • 良好 Web MVC 设计,它为 Web 开发框架提供了一个很好的选择
  • PHP 开发者可快速上手,数据库、缓存的使用均高度兼容 Laravel
  • 所有组件严格通过单元测试及压力测试