什么是 Swoft ?
Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go
一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring
Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
Swoft v2.0.6
swoft 2.0 经过几个版本的打磨和优化,已在大量的生产环境中使用,得到很多用户的肯定和支持。正式版本我们做了许多改进和优化,拥有了更好的性能。
新增和改进了两个开发工具,方便开发者使用:
swoft/swoole-tracker 可以帮开发者解决链路追踪、内存泄漏、阻塞检查意以及性能分析swoft-cli 现在支持基本的应用骨架和组件结构创建,以及类文件生成功能
调试利器 (swoft-swoole-tracker)
Swoft 调试利器可以帮开发者解决链路追踪、内存泄漏、阻塞检查意以及性能分析。
安装组件:
composer require swoft/swoole-tracker
配置中间件:
return [
'httpDispatcher' => [
'middlewares' => [
\Swoft\Swoole\Tracker\Middleware\SwooleTrackerMiddleware::class,
],
],
];
链路追踪

服务监控

服务状态

内存泄漏

阻塞检测

开发工具 (swoft-cli)
swoft-cli 新增场景功能类生成(控制器、中间件、任务等),创建项目骨架、组件初始化脚手架工具。
安装:
wget https://github.com/swoft-cloud/swoft-cli/releases/download/{VERSION}/swoftcli.phar
功能类生成
php swoftcli.phar gen:http-ctrl user --prefix /users

创建新项目
现在可以通过swoft-cli来快速创建一个新项目。默认提供 5 套模板仓库,方便用户初始化不同项目骨架。
php swoftcli.phar create:application --help

创建新组件
也可以通过swoft-cli来创建新的组件,并帮助你快速完成初始化配置:
php swoftcli.phar create:component --help

更新内容
修复(Fixed):
- 修复 ws server收到消息时,默认使用当前fd作为响应消息的客户端 3a8890cf
- 修复 ws server通过swoole server拿到的全部连接里,fd的类型可能不是整型导致报错。0fa79d7
- 修复 stdlib SystemHelper 在 windows 10 中会被 Defender 删除 71c2893
- 修复
increment/decrement 多拿了一个连接 94c7171 - 修复 模型属性
$modelTimestamps 关闭了无效 94c7171 - 修复 在初始化前调用了log,导致可能会在启动阶段报context丢失错误 5a27704f
- 修复 ws server的握手和open使用同一个顶级协程ID,如果有一个先执行完成,可能会导致后面的出现session丢失 c2cd17a
- 修复
after 定时器传递参数 bug 8ed609a - 修复定时任务内存泄漏和日志打印数据丢失问题 aa6bc32
- 优化 Http server
sgo 处理流程 e60d92e - 修复数据库在事物情况下重连导致数据不一致问题 c2e87f2
- 修复 Aop 极端情况返回
0 问题 85bc1b1 - 修复
BeanFactory::createBean() 方法创建问题 c2e2c89 - 修复 RPC 错误数据是字符串问题 3a34658
- 修复
redisCluster 初始化问题 3a60c06 - 修复
DbException 没有抛出 Database 的异常 Code 3a60c06 - 修复
ModelAttribute 的 getter 和 setter 驼峰判断错误 2e2f0f1 - 修复
Aggregate 聚合, 返回字符串强行转换 int 错误 7aa98a6 - 修复模型
updateCounters 方法更新之后没有同步实体数据 967d6f8
更新(Update):
- 调整 ws server在worker 退出时自动关闭连接,添加开关配置,可以选择是否开启。3a8890c
- ws server 新增事件:
MESSAGE_PUSH OPEN_BEFORE MESSAGE_RECEIVE e1b0583
增强(Enhancement):
扩展(Extra):
Swoftcli 已经支持基本的应用骨架和组件结构创建,以及类文件生成功能SwoftTracker 支持方便开发者调试
|