gravityrd/php7-client

用于访问 Gravity R&D 的 PHP 客户端

dev-master 2018-07-05 10:07 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:17:09 UTC


README

这是之前 GravityClient 的 PHP 7+ 版本。该项目遵循 PSR (1,2,4,7) 标准,因此客户端方法的返回值现在返回符合 PSR7 的响应。

安装和使用

  • 使用 Composer 安装包(目前请参考 git 项目)
  • 该库需要一个具体的 PSR7 MessageFactory 和一个 HTTPlug Client 实现,以实现客户端抽象。这些依赖项必须来自您的项目。HTTPlug 项目已经为最常见的 http 用例(curl、socket、Guzzle 等)提供了现成的客户端和适配器。更多信息请参阅 文档
  • 对于迫不及待的人来说,请查看基于 Curl 和 Guzzle 的“hello world”示例

从 1.X Gravityrd 客户端升级

  • 您必须提供 PSR7 MessageFactory 和 HTTPlug Client 实现。您可以在 composer 项目中简单地要求这些,或者明确传递给客户端。
  • 异常处理
    • GravityException 已不再使用。如果配置或初始化失败,客户端将抛出适当的子组件异常。
    • 在发送请求时,将抛出 HTTPlug 异常,请参阅: 文档
  • 目前我们仅支持同步客户端,它们将始终返回一个 PSR7 请求(确切类取决于您提供的 MessageFactory)。
    • 但是,您仍然可以将异步标志传递给请求,它的行为将与 1.X 相同。
  • 客户端配置
    • Gravity Config 现在仅负责 Gravity 特定的设置,客户端特定的设置(如旧的:verifyPeer)现在必须在您使用的客户端中完成(在这种情况下,您必须注入客户端),请参见下面的示例
    // The Message and Stream factories will be  
    // dicovered in this case, and you only pass options.
    // For the options available see the Client's documentation
    
    $options = [
      CURLOPT_CONNECTTIMEOUT => 10,
      CURLOPT_SSL_VERIFYPEER => false
    ];
    
    $curlClient = new Http\Client\Curl\Client(null,null,$options);
    已删除的配置选项包括
    • timeoutSeconds
    • verifyPeer
    • verbose
    • 客户端配置现在是不可变的,您必须使用构造函数来设置它