Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。
有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。
Swoft 是首个基于 Swoole 原生协程的注解式框架,自带常驻内存以及 Swoole 其它功能的封装。
框架自带 Mysql/Redis/Rpc 高效连接池,且实现所有连接断线重连。开发者不用关心连接池,相应组件已经实现。
框架容器管理的所有对象,都可以使用 AOP。使用AOP 可以使用在不改变实例内部的情况下,对实例对象的行为进行控制。
RPC 服务分为 RPC Server 和 RPC Client,框架提供了类似 Dubbo 更为优雅的方式使用 RPC 服务
数据提供模型 和 Builder 两种方式操作,数据库的封装高度兼容 Laravel,方便 Phper 快速切换到 Swoft
Swoft 完美与 Istio/Envoy 等 Service mesh 框架契合,同时还为中小型提供一套快速构建微服务治理组件,包括服务注册与发现、服务熔断、服务限流,以及配置中心。
- composer create-project swoft/swoft swoft
Http server
- [root@swoft swoft]# php bin/swoft http:start
WebSocket server
- [root@swoft swoft]# php bin/swoft ws:start
RPC server
- [root@swoft swoft]# php bin/swoft rpc:start
Component Name | Packagist Version |
---|---|
swoft-apollo | |
swoft-breaker | |
swoft-cache | |
swoft-crontab | |
swoft-consul | |
swoft-limiter | |
swoft-view | |
swoft-whoops | |
swoft-session |