博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zend 官方框架增加 Swoole 协程支持 !
阅读量:7173 次
发布时间:2019-06-29

本文共 1391 字,大约阅读时间需要 4 分钟。

前言

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

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

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

clipboard.png

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

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 安装 组件即可,执行 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 在国内的流行度并不高,可能帮不了国内的多少开发者,本文只为做一个引导,有兴趣的可以直接查看获得更多信息,同时 还自行实现了HTTP更好支持度的静态资源访问支持,有兴趣的也可以了解一下。

转载地址:http://kwdzm.baihongyu.com/

你可能感兴趣的文章
java既然存在gc线程,为什么还存在内存泄漏?
查看>>
Linux Vim
查看>>
UVA - 11987 Almost Union-Find[并查集 删除]
查看>>
使用css开启硬件加速提高网站性能
查看>>
CMakeLists.txt的写法
查看>>
Flask如何使用https?
查看>>
Linux命令之kill
查看>>
Asp.Net SignalR Hub类中的操作详解
查看>>
附上解决迅雷9及迅雷极速版任何资源下载任务出错、内容违规问题
查看>>
hadoop3: mkdir: cannot create directory `/usr/local/hadoop/bin/../logs’: Permission denied
查看>>
高阶函数与面向对象继承的比较
查看>>
群雄逐鹿的移动互联网时代【转载】
查看>>
【排序】InsertSort
查看>>
[c++11]多线程编程(五)——unique_lock
查看>>
高程3总结#第15章使用Canvas绘图
查看>>
【go并发编程】
查看>>
JDK源码解析string之二
查看>>
6-C++远征之封装篇[上]-学习笔记
查看>>
html+css布局类型
查看>>
CentOS 虚拟机 扩展LVM硬盘空间
查看>>