Mix PHP V 2エコ:GuzzleにSwooleのHook協程をサポートさせる
Guzzleは非常に流行しているPHPのHTTPクライアントであり、現在各工場のSDKもGuzzleに基づいて開発を開始している.SwooleはPHP StreamのコラボレーションHookのみをサポートしているが、GuzzleのデフォルトはcURL拡張を使用しているため、Mix PHPはGuzzle Hookを開発し、ソースコードを変更せずにGuzzzleをコラボレーション化することができる.
Github https://github.com/mix-php/guzzle-hook
インストール
Composerを使用してインストールするには、次の手順に従います.
プロジェクトの
使用
直接使用Guzzle開発
特別なコード処理をする必要がなく、Guzzleドキュメントに従って直接使用します.
サードパーティSDK依存Guzzle
例: alibabacloud/client TencentCloud/tencentcloud-sdk-php
このようなサードパーティ製ライブラリはcomposer.jsonのrequireからguzzlehttp/guzzleに依存していることがわかり,Swooleのコラボレーションで直接使用できる.
Github
インストール
Composerを使用してインストールするには、次の手順に従います.
composer require mix/guzzle-hook
プロジェクトの
composer.json
ファイルにextra
の構成項目を追加します.以下のようにします."extra": {
"include_files": [
"vendor/mix/guzzle-hook/src/functions_include.php"
]
}
使用
直接使用Guzzle開発
特別なコード処理をする必要がなく、Guzzleドキュメントに従って直接使用します.
// Mix PHP xgo , swoole go
go(function () {
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.github.com/user', [
'auth' => ['user', 'pass'],
]);
echo $res->getStatusCode();
});
サードパーティSDK依存Guzzle
例:
このようなサードパーティ製ライブラリはcomposer.jsonのrequireからguzzlehttp/guzzleに依存していることがわかり,Swooleのコラボレーションで直接使用できる.
// Mix PHP xgo , swoole go
go(function () {
try {
// , secretId,secretKey
$cred = new Credential("secretId", "secretKey");
// # ( cvm ) client
$client = new CvmClient($cred, "ap-guangzhou");
//
$req = new DescribeZonesRequest();
// client ,
$resp = $client->DescribeZones($req);
print_r($resp->toJsonString());
} catch (TencentCloudSDKException $e) {
echo $e;
}
});