什么是Swoft?Swoft是一个基于Swoole扩展的PHP微服务协程框架。Swoft和Go一样,内置了协程Web服务器和常用的协程客户端,并且常驻内存,不依赖于传统的PHP-FPM。有类似Go语言的协程运行方式,类似SpringCloud框架的灵活注解,强大的全局依赖注入容器,完善的服务治理,灵活强大的AOP,标准的PSR规范实现等。通过三年的积累和方向探索,Swoft将Swoft内置到PHP世界的SpringCloud中,是PHP高性能框架和微服务治理的最佳选择。Swoftv2.0.6Swoft2.0经过多个版本的打磨和优化,已经在大量的生产运营中使用,得到了众多用户的肯定和支持。我们在正式版中做了很多改进和优化,性能更好。新增和改进了两个开发工具供开发者使用:swoft/swoole-tracker可以帮助开发者解决链接跟踪、内存泄漏、阻塞检查、性能分析等问题swoft-cli现在支持基础应用骨架和组件结构的创建,以及class文件生成功能调试工具(swoft-swoole-tracker)Swoft调试工具可以帮助开发者解决链接跟踪、内存泄漏、阻塞检测和性能分析等问题。安装组件:composerrequireswoft/swoole-tracker配置中间件:return[//...'httpDispatcher'=>[//添加全局http中间件'middlewares'=>[//...\Swoft\Swoole\Tracker\中间件\SwooleTrackerMiddleware::类,],],//...];链接跟踪服务监控服务状态内存泄漏阻塞检测开发工具(swoft-cli)swoft-cli新场景功能类生成(controller,Middleware,tasks等),创建项目骨架,组件初始化脚手架工具。安装:wgethttps://github.com/swoft-cloud/swoft-cli/releases/download/{VERSION}/swoftcli.phar函数类生成phpswoftcli.phargen:http-ctrluser--prefix/userscreatenew项目现在可以通过swoft-cli快速创建一个新项目。默认提供5套模板库,方便用户初始化不同的项目骨架。phpswoftcli.pharcreate:application--help创建新组件您也可以通过swoft-cli创建新组件,帮助您快速完成初始配置:phpswoftcli.pharcreate:component--help更新内容修复(Fixed):修复客户端3a8890cf在ws服务器收到消息时默认使用当前fd作为响应消息的问题。修复ws服务器通过swoole服务器获取的所有连接的fd类型。fd的类型可能不是整数并导致错误。0fa79d7修复stdlibSystemHelper在Windows10中会被Defender删除71c2893修复increment/decrement多接一个连接94c7171修复模型属性$modelTimestampsclosed无效94c7171修复初始化前的调用日志,在启动时可能导致上下文丢失错误5a27704f修复wsserver的握手和使用相同的顶层协程ID打开,如果先执行一个,可能导致后续session丢失c2cd17a修复定时器传参后bug8ed609a修复定时任务内存泄露和日志打印数据丢失问题aa6bc32优化Httpserversgo处理流程e60d92e修复事务情况下数据库重连导致数据不一致的问题c2e87f2修复Aop极端情况返回0问题85bc1b1修复BeanFactory::createBean()方法创建问题c2e2c89修复RPC错误数据是字符串问题3a34658修复redisCluster初始化问题3a60c06修复DbException不抛数据库异常代码3a60c06修复ModelAttributegetter和setter驼峰判断错误2e2f0f1修复Aggregate聚合,返回string强行转换int错误7aa98a6修复modelupdateCounters方法更新不同步实体数据967d6f8update(更新):调整wsserver在worker退出时自动关闭连接,增加开关配置,你可以选择是否打开。3a8890cwsserverNewevent:MESSAGE_PUSHOPEN_BEFOREMESSAGE_RECEIVEe1b0583Enhancement(增强):添加日志按时间拆分f649df2添加日志支持传递附加参数55d5533调整并添加一些ws服务器相关事件,方便用户使用e1b0583模型支持Prop630aad8添加连接连接池(mysql/redis/rpc)启动初始化连接函数a367173tcpserver使用长度分包时支持自定义头数据打包解包格式a6fbe932RPC调用错误信息调整d9226b1newoperation数据库异常,打印consoleErrorSQL3a60c06newoperationdatamigrationint系列长度支持967d6f8获取原始sqlgetRawSql的新方法967d6f8扩展updateOrInsert和updateOrCreate支持自增参数967d6f8扩展(Extra):Swoftcli已经支持基本的应用程序骨架和组件结构创建,以及类文件生成功能SwoftTracker支持方便开发者调试
