Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
如下简单几行代码,就定义了一个每秒执行的定时任务,完全可以取代系统定时任务。
<?php declare(strict_types=1); namespace App/Crontab; use Swoft/Crontab/Annotaion/Mapping/Cron; use Swoft/Crontab/Annotaion/Mapping/Scheduled; /** * Class CronTask * * @since 2.0 * * @Scheduled() */ class CronTask { /** * @Cron("* * * * * *") */ public function secondTask() { printf("second task run: %s ", date('Y-m-d H:i:s', time())); } }
定时任务跟随服务一起启动,将看到如下显示:
开发过程中,如果错误提示是一串字符串,不方便业务排除问题,如果使用该组件,所有错误信息将如下显示:
修复(Fixed):
context()->get()
存在问题以及废弃 Context::mustGet()
方法 6acc1b5 paginate
方法, 结果集没有映射字段 3027287 更新(Update):
swoole_cpu_num
函数获取 553f6500 ContainerException
到用户使用层 1e74893 confirm
select
等交互方法 0181138a 增强(Enhancement):
CommandOption
,现在允许选项描述为多行信息 e5914983 opcode
参数 dc164ffe9 opcode
,用于自动处理返回数据设置 opcode
9e3e9672 Request
Response
3d6c60b4 2.0.5+ 验证器默认关闭,需要开发者手动开启( https://www.swoft.org/docs/2....