Zend Framework
是 PHP
的官方框架,随着 Zend-Expressive-Swoole 0.2.2 的发布,率先支持了 Swoole 4 的协程功能,如今能够仅经过一个配置便可使整个应用以协程模式运行,完美解决了从前的笨重低性能的印象,基于 Zend Expressive 完美解耦的设计,搭建一个高性能的符合本身心意的框架彻底不在话下了!php
只需执行 composer create-project zendframework/zend-expressive-skeleton folder_name
经过 Composer
就能够进入组件安装的流程了,folder_name
改为你想要存放的文件夹名字html
从上面的图片能够看到安装器会询问你好几个问题,也就是让你选择你想要的组件,理论上支持全部符合 PSR规范 的组件。mysql
1.你想使用哪一个路由?
[1] Aura.Router
[2] FastRoute
[3] Zend Router
2.你想使用哪一个依赖注入容器?
[1] Aura.Di
[2] Pimple
[3] Zend ServiceManager
3.你想使用哪一个模板引擎?
[1] Plates
[2] Twig
[3] Zend View
[n] 不使用
4.你想使用哪一个错误处理器?
[1] Whoops
[n] 不使用git
作完选择以后安装器会根据你的需求自动安装完相关的依赖,一个框架的基础就这么搭完了,整个流程极其的简单,最简单没有之一。github
那么要如何让 Zend Expressive
运行在 Swoole
上呢,服务器要安装 Swoole 4
以上的扩展就不在这多作解释了(注意要启用mysqlnd
才能使PDO
协程化),而对于 Zend
只须要经过 Composer
安装 Zend-Expressive-Swoole 组件便可,执行 composer require zendframework/zend-expressive-swoole
,而后在项目内增长一个配置文件 config/autoload/swoole.local.php
,并按如下内容配置sql
use Zend\Expressive\Swoole\ConfigProvider; return array_merge((new ConfigProvider())(), [ 'zend-expressive-swoole' => [ 'swoole-http-server' => [ 'host' => '0.0.0.0', 'port' => 80, // 端口 'options' => [ 'enable_coroutine' => true, // 协程配置开关 ], ], ], ]);
配置也很简单,就这么完了,如今只须要在命令行执行 php public/index.php start
便可以以协程模式在 Swoole
上运行你的 Zend 框架
了。express
考虑到 Zend 在国内的流行度并不高,可能帮不了国内的多少开发者,本文只为作一个引导,有兴趣的能够直接查看官方文档得到更多信息,同时 Zend-Expressive-Swoole 还自行实现了HTTP更好支持度的静态资源访问支持,有兴趣的也能够了解一下。服务器
原文地址:swoole