当前位置: 首页 > 后端技术 > PHP

Zend官方框架新增Swoole协程支持!

时间:2023-03-29 16:11:43 PHP

前言ZendFramework是PHP的官方框架。随着Zend-Expressive-Swoole0.2.2的发布,率先支持了Swoole4的协程功能,现在只需要一个配置就可以让整个应用以协程方式运行,完美解决了之前笨重的印象和低性能。基于ZendExpressive完美的解耦设计,搭建一个合你心意的高性能框架完全没有问题!通过ZendExpressive搭建一个我喜欢的框架,只要执行composercreate-projectzendframework/zend-expressive-skeletonfolder_name就可以通过Composer进入组件安装的过程,将folder_name改成你要存放的文件夹的名字。从上图可以看到安装程序会问你几个问题,就是让你选择你想要的组件,理论上支持所有符合PSR规范的组件。1.您想使用哪条路线?[1]Aura.Router[2]FastRoute[3]ZendRouter2.你想使用哪个依赖注入容器?[1]Aura.Di[2]Pimple[3]ZendServiceManager3.你想用哪个模板引擎?[1]Plates[2]Twig[3]ZendView[n]未使用4.您想使用哪个错误处理程序?[1]哎呀[n]未使用选择后,安装程序会根据您的需要自动安装相关依赖项。框架的基础就是这样。整个过程极其简单,没有最简单的。使用Zend-Expressive-Swoole,然后如何让ZendExpressive跑在Swoole上,服务端需要安装Swoole4或以上的扩展,这里就不多说了(注意做PDO协程必须开启mysqlnd),以及仅适用于Zend需要通过Composer安装Zend-Expressive-Swoole组件,执行composerrequirezendframework/zend-expressive-swoole,然后在项目中添加配置文件config/autoload/swoole.local.php,配置使用Zend\Expressive\Swoole\ConfigProvider;returnarray_merge((newConfigProvider())(),['zend-expressive-swoole'=>['swoole-http-server'=>['host'=>'0.0.0.0','port'=>80,//port'options'=>['enable_coroutine'=>true,//协程配置开关],],],]);配置也很简单,仅此而已,现在只需要在命令行执行phppublic/index.phpstart就可以在Swoole上以协程方式运行你的Zend框架。结论考虑到Zend在国内的普及度不高,可能无法帮助到国内很多开发者。这篇文章只是一个指南。有兴趣的可以直接查看官方文档了解更多信息。同时Zend-Expressive-Swoole也自己实现了对静态资源访问的支持,对HTTP的支持比较好,有兴趣的也可以了解一下。