zoukankan      html  css  js  c++  java
  • Zend 官方框架增加 Swoole 协程支持 !

    前言

    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 改成你想要存放的文件夹名字

    从上面的图片可以看到安装器会询问你好几个问题,也就是让你选择你想要的组件,理论上支持所有符合 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 ZendExpressiveSwooleConfigProvider;
    
    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更好支持度的静态资源访问支持,有兴趣的也可以了解一下。

    原文地址:

  • 相关阅读:
    Asp.Net Web API 2第八课——Web API 2中的属性路由
    Asp.Net Web API 2第七课——Web API异常处理
    Asp.Net Web API 2第六课——Web API路由和动作选择
    Asp.Net Web API 2第五课——Web API路由
    开始学习python
    BMI 小程序 购物车
    深浅copy 文件操作
    字典 dict 集合set
    基本数据类型 (str,int,bool,tuple,)
    python 运算符
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9971528.html
Copyright © 2011-2022 走看看