Zend 官方框架增加 Swoole 协程支持 ! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huangzhhui
V2EX    PHP

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

  •  
  •   huangzhhui 2018-09-27 17:30:01 +08:00 2352 次点击
    这是一个创建于 2575 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    Zend FrameworkPHP 的官方框架,随着 Zend-Expressive-Swoole 0.2.2 的发布,率先支持了 Swoole 4 的协程功能,现在可以仅通过一个配置即可使整个应用以协程模式运行,完美解决了从前的笨重低性能的印象,基于 Zend Expressive 完美解耦的设计,搭建一个高性能的符合自己心意的框架完全不在话下了!

    通过 Zend Expressive 搭建一个我喜欢的框架

    只需执行 composer create-project zendframework/zend-expressive-skeleton folder_name 通过 Composer 就可以进入组件安装的流程了,folder_name 改成你想要存放的文件夹名字

    clipboard.png

    从上面的图片可以看到安装器会询问你好几个问题,也就是让你选择你想要的组件,理论上支持所有符合 PSR 规范 的组件。

    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] 不使用

    做完选择之后安装器会根据你的需求自动安装完相关的依赖,一个框架的基础就这么搭完了,整个流程极其的简单,最简单没有之一。

    使用 Zend-Expressive-Swoole

    那么要如何让 Zend Expressive 运行在 Swoole 上呢,服务器要安装 Swoole 4 以上的扩展就不在这多做解释了(注意要启用mysqlnd才能使PDO协程化),而对于 Zend 只需要通过 Composer 安装 Zend-Expressive-Swoole 组件即可,执行 composer require zendframework/zend-expressive-swoole,然后在项目内增加一个配置文件 config/autoload/swoole.local.php,并按以下内容配置

    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 框架了。

    结语

    考虑到 Zend 在国内的流行度并不高,可能帮不了国内的多少开发者,本文只为做一个引导,有兴趣的可以直接查看官方文档获得更多信息,同时 Zend-Expressive-Swoole 还自行实现了 HTTP 更好支持度的静态资源访问支持,有兴趣的也可以了解一下。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5118 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:24 PVG 17:24 LAX 02:24 JFK 05:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86