Swoft 2.0.6 正式版本发布
什么是 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' => [ // Add global http middleware '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):
- 新增日志按时间切割 f649df2
- 新增日志支持传递额外参数 55d5533
- 调整和新增了一些ws server相关事件,方便用户使用 e1b0583
- 模型对
Prop
支持 630aad8 - 新增连接连接池(mysql/redis/rpc)启动初始化连接功能 a367173
- tcp server 使用长度分包时,支持自定义头部数据打包、解包格式 a6fbe932
- RPC 调用错误信息调整 d9226b1
- 新增操作
Database
异常, 打印控制台 错误SQL
3a60c06 - 新增操作数据迁移
int
系列 长度支持 967d6f8 - 新增获取原始 sql 方法
getRawSql
967d6f8 - 扩展
updateOrInsert
和updateOrCreate
支持自增参数 967d6f8
扩展(Extra):
Swoftcli
已经支持基本的应用骨架和组件结构创建,以及类文件生成功能SwoftTracker
支持方便开发者调试
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
BookChatApp v1.0 发布,uni-app 开发的通用书籍阅读App,支持编译成小程序
通用书籍阅读APP,BookChat 的 uni-app 实现版本,支持多端分发,编译生成 Android 和 iOS 手机APP以及各平台的小程序。 使用BookChatApp,您可以轻松地将您的电子书、文档手册和在线书籍分发到各个小程序平台,以及编译生成手机APP发布到各大手机软件市场供用户下载和使用。 设计开发 BookChatApp的设计开发跟微信小程序BookChat几乎没有两样,如果有不一样的地方,那就是从微信小程序的原生开发迁移到了使用uni-app的vue开发上来。 BookChatApp中对HTML内容的渲染,经过多次对性能和渲染效果体验的对比,最终没有采用网上开源的第三方渲染组件,直接使用了uni-app自带的rich-text组件,而将BookChatApp编译成各平台的小程序的时候,同样也是用了各小程序平台的rich-text组件。 特点 开源:基于 Apache 2.0 开源协议进行开源,对商业友好 秀气:简洁、美观,给您焕然一新的视觉体验 丰富:注册、登录、搜索、书架、书签、阅读偏好设置等功能齐全,麻雀虽小,五脏俱全 强大:尽管BookChatApp使用的是...
- 下一篇
IntelliJ IDEA 2019.2.3 发布
IntelliJ IDEA 2019.2.3 发布了,以下是一些值得注意的变更内容: 支持 Maven 3.6.2IDEA-221882. 新增用于更改滚动条对比度的选项IDEA-69682. 恢复了旧的 “Compare with Current” 对话框IDEA-209664,IDEA-209664. IDE 现在支持 Linux 上的本机密码存储IDEA-185926. 修复了由许多忽略的文件引起的 IDE 冻结IDEA-219152. 改进了 SVN 操作的性能IDEA-219881. 修复了将补丁导入到Shelf时发生的错误IDEA-220599. 修复了回归问题:从更改列表中调用“在路径中查找”(Find in Path)现在可以在“在路径中查找”对话框的“本地更改”(local change)范围内选择该更改列表IDEA-216936. 修复了回归问题:在编辑器中高亮了已弃用的 API 的用法IDEA-216982. JBR 11 也已更新为 11.0.4+10-b304.69,包含以下修复: JetBrains Runtime 在 OpenJDK 11.0.4 的基础之...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启