myena/php-rgw-api

PHP客户端,用于Rados网关API,性能强大

4.0.0 2020-10-19 18:24 UTC

This package is auto-updated.

Last update: 2024-09-20 02:54:13 UTC


README

本库旨在成为Rados网关管理API的全面PHP SDK,详情请参考Rados网关管理API文档

安装

此库设计为使用Composer安装。

{
  "require": {
    "myena/php-rgw-api": "4.*"
  }
}

功能

  1. 所有包含对象的响应都被建模(列表
  2. 整个请求链完全建模,所需参数有类型提示(例如UserRootLink::Info
  3. 所有模型都有完整的swagger-php标记
  4. 包括未记录的/metadata端点
  5. 参数验证(链接),并提供可能有用的错误信息

基本用法

每个组件的更多详细信息可以在下面找到,但以下是一个快速填空示例

$config = new \MyENA\RGW\Config([
    'address'   => '',
    'adminPath' => '',
    'apiKey'    => '',
    'apiSecret' => '',
]);
$client = new \MyENA\RGW\Client($config, new \MyENA\RGW\Signature\V2Signature());

[$users, $err] = $client->Metadata()->User()->List()->execute();
if (null !== $err) {
    die((string)$err);
}
var_dump($users);

// and whatever else you wanna do...

高级配置

您必须首先构建一个Config

$config = new \MyENA\RGW\Config([
    'address'   => '',  // REQUIRED
    'apiKey'    => '',  // REQUIRED
    'apiSecret' => '',  // REQUIRED

    'adminPath'     => '',  // optional, whatever your admin ops path is

    'silent' => false // optional, silences all logging
]);

自定义Guzzle客户端

Config构造函数的第二个可选参数接受任何实现Guzzle ClientInterface的对象。如果留为null,将构建一个不带选项的新Guzzle Client

自定义日志记录器

Config构造函数的第三个可选参数接受任何实现Psr LoggerInterface的对象。如果留为null,将构建一个新的Psr NullLogger