成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

GuzzleSwoole v1.1.0,讓 Guzzle 完美兼容 Swoole 協(xié)程

helloworldcoding / 562人閱讀

摘要:這個項目目前已經(jīng)實現(xiàn)無需修改任何代碼,只需一句話設置全局默認處理器,完美無縫兼容協(xié)程環(huán)境。使用在中,你可以把默認設為。

讓 Guzzle 支持 Swoole 協(xié)程,這個項目目的就是這么簡單明了!

本項目不包含 Guzzle 功能,請自行在項目中引用 Guzzle 6.x,理論上可以支持升級 Guzzle 版本而無需更新 Guzzle-Swoole!

Composer:"yurunsoft/guzzle-swoole":"~1.1"

v1.1.0 版本說明:

說明

眾所周知,使用 Guzzle 指定 Handler,需要在實例化 Client 時傳入。

這樣一來,想要把基于 Guzzle 開發(fā)的 SDK 用于 Swoole 協(xié)程環(huán)境就需要對原有 SDK 代碼進行修改。

Guzzle-Swoole 這個項目目前已經(jīng)實現(xiàn)無需修改任何代碼,只需一句話設置全局默認處理器,完美無縫兼容 Swoole 協(xié)程環(huán)境。

使用

在 Swoole >= 4.2.0 中,你可以把默認 Handler 設為 StreamHandler。

GuzzleHttpDefaultHandler::setDefaultHandler(YurunUtilSwooleGuzzleSwooleHandler::class);

在 Swoole < 4.2.0 中,你可以把默認 Handler 設為本項目實現(xiàn)的 SwooleHandler。

GuzzleHttpDefaultHandler::setDefaultHandler(GuzzleHttpHandlerStreamHandler::class);

這樣一來,實現(xiàn)完美無縫兼容~

實現(xiàn)原理

首先依賴了funkjedi/composer-include-files這個項目,這個項目的功能是把composer.json中配置引入的文件優(yōu)先引入,這樣就可以在這個文件里進行提前處理

接著通過 Composer 插件機制,在post-autoload-dump事件中做處理。

讀取guzzlehttp/guzzle/src/functions.php文件,將choose_handler()方法定義從代碼中去除,把修改后內存保存為guzzle-swoole/src/load.php文件。

guzzle-swoole/src/functions.php文件中定義了修改后的choose_handler()方法,用于實現(xiàn)全局默認處理器的設置和獲取。

load.phpfunctions.php兩個文件會在運行時優(yōu)先引入,然后根據(jù)guzzlehttp/guzzle/src/functions_include.php中寫的判斷,Guzzle 就不會再引入他原有的functions.php文件了。

代碼倉庫

碼云:https://gitee.com/yurunsoft/G...

Github:https://github.com/Yurunsoft/...

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/30903.html

相關文章

  • Mix PHP V2 生態(tài): Guzzle 支持 Swoole 的 Hook 協(xié)程

    摘要:是一個非常流行的的客戶端,現(xiàn)在各大廠的也都開始基于開發(fā),因為只支持的協(xié)程,而默認是使用擴展的,所以開發(fā)了,能在不修改源碼的情況下讓協(xié)程化。 Guzzle 是一個非常流行的 PHP 的 HTTP 客戶端,現(xiàn)在各大廠的 SDK 也都開始基于 Guzzle 開發(fā),因為 Swoole 只支持 PHP Stream 的協(xié)程 Hook ,而 Guzzle 默認是使用 cURL 擴展的,所以 Mix...

    Flands 評論0 收藏0
  • Mix PHP V2 實例:AliCloud 短信協(xié)程池異步發(fā)送守護程序

    摘要:前些時間我們發(fā)布了實例協(xié)程池異步郵件發(fā)送守護程序范例,這一次我們提供一個使用大廠通過協(xié)程化來并行執(zhí)行短信發(fā)送任務,本文是一個代碼簡單性能極強的范例。 前些時間我們發(fā)布了 Mix PHP V2 實例:協(xié)程池異步郵件發(fā)送守護程序 范例,這一次我們提供一個使用大廠 SDK 通過 Swoole Hook 協(xié)程化來并行執(zhí)行短信發(fā)送任務,本文是一個代碼簡單、IO 性能極強的范例。 請先升級到 m...

    qc1iu 評論0 收藏0
  • Hyperf Hyperf 是基于 Swoole 4.3+ 實現(xiàn)的高性能、高靈活性的 PHP 協(xié)程框架,內置協(xié)程服務器及大量常用的組件,性能較傳統(tǒng)基于 PHP-FPM 的框架有質的提升,提供超高性能的同時,也保持著極其靈活的可擴展性,標準組件均均基于 PSR 標準 實現(xiàn),基于強大的依賴注入設計,保證了絕大部分組件或類都是 可替換 與 可復用 的。 框架組件庫除了常見的協(xié)程版的 MySQL 客戶端、...

    diabloneo 評論0 收藏0
  • v1.0.2 更新內容 本次更新涉及以下組件 hyperf/databasehyperf/dihyperf/eventhyperf/http-serverhyperf/loggerhyperf/redishyperf/contract Added 接入 Travis CI,目前 Hyperf 共存在 426 個單測,1124 個斷言; #25 完善了對 Redis::connect 方法的...

    EsgynChina 評論0 收藏0
  • 更新內容 hyperf-skeleton v1.0.3 Added 安裝器為 RPC 部分增加 JSON RPC with Service Governance 選項, 選擇該選項會自動安裝 hyperfservice-governance 服務治理組件; 骨架內提供的 AppExceptionHandlerAppExcpetionHandler 默認輸出異常信息 Changed 將 AppM...

    alaege 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<