Zend 官方框架增長 Swoole 協程支持 !

前言

Zend FrameworkPHP 的官方框架,隨着 Zend-Expressive-Swoole 0.2.2 的發佈,率先支持了 Swoole 4 的協程功能,如今能夠僅經過一個配置便可使整個應用以協程模式運行,完美解決了從前的笨重低性能的印象,基於 Zend Expressive 完美解耦的設計,搭建一個高性能的符合本身心意的框架徹底不在話下了!php

經過 Zend Expressive 搭建一個我喜歡的框架

只需執行 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

那麼要如何讓 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

相關文章
相關標籤/搜索