国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

GuzzleSwoole v1.1.0,讓 Guzzle 完美兼容 Swoole 協程

helloworldcoding / 551人閱讀

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

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

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

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

v1.1.0 版本說明:

說明

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

這樣一來,想要把基于 Guzzle 開發的 SDK 用于 Swoole 協程環境就需要對原有 SDK 代碼進行修改。

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

使用

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

GuzzleHttpDefaultHandler::setDefaultHandler(YurunUtilSwooleGuzzleSwooleHandler::class);

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

GuzzleHttpDefaultHandler::setDefaultHandler(GuzzleHttpHandlerStreamHandler::class);

這樣一來,實現完美無縫兼容~

實現原理

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

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

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

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

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

代碼倉庫

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

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

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

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

相關文章

  • Mix PHP V2 生態: Guzzle 支持 Swoole 的 Hook 協程

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

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

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

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

發表評論

0條評論

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