Рубрики
Uncategorized

Экология Mix PHP V2: пусть guzzle поддерживает процесс зацепления swool

Автор оригинала: David Wong.

Guzzle-очень популярный HTTP-клиент PHP. Сейчас SDK крупных заводов также разрабатываются на основе жратвы . Поскольку swool поддерживает только хук оркестровки потока PHP, а guzzle по умолчанию использует расширение curl, поэтому mix HP разработала хук оркестровки, который может выполнять оркестровку guzzle без изменения исходного кода.

Github

  • https://github.com/mix- php /жадный крючок

устанавливать

Для установки с помощью Composer:

composer require mix/guzzle-hook

Ориентированный на проект composer.json Добавить в файл дополнительные Элементы конфигурации, как показано ниже:

"extra": {
    "include_files": [
      "vendor/mix/guzzle-hook/src/functions_include.php"
    ]
}

Воспользуйся

Развивайтесь непосредственно с жадностью

Без какой-либо специальной обработки кода он напрямую используется в соответствии с документом “жрут”.:

//XGO in mix PHP, go in native swoole
go(function () {

    $client = new GuzzleHttp\Client();
    $res    = $client->request('GET', 'https://api.github.com/user', [
        'auth' => ['user', 'pass'],
    ]);
    echo $res->getStatusCode();

});

Сторонний SDK полагается на жрут

Например:

  • облако alibaba/клиент
  • Облако Tencent/облако tencent-sdk-php

Этот вид сторонней библиотеки можно увидеть из требования composer.json, что она зависит от guzzlehttp/guzzle и может быть напрямую использована в процессе сотрудничества swool.

//XGO in mix PHP, go in native swoole
go(function () {

    try {
        //To instantiate a certificate object, you need to pass in the secretid and secretkey of Tencent cloud account
        $cred = new Credential("secretId", "secretKey");
        //Instantiate the client object to request the product (take CVM as an example)
        $client = new CvmClient($cred, "ap-guangzhou");
        //Instantiate a request object
        $req = new DescribeZonesRequest();
        //To call the interface you want to access through the client object, you need to pass in the request object
        $resp = $client->DescribeZones($req);
        print_r($resp->toJsonString());
    } catch (TencentCloudSDKException $e) {
        echo $e;
    }

});

Оригинал: “https://developpaper.com/mix-php-v2-ecology-let-guzzle-support-the-hook-process-of-swoole/”