myena / php-rgw-api
PHP客户端,用于Rados网关API,性能强大
4.0.0
2020-10-19 18:24 UTC
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: 7.2.*
- psr/log: 1.*
Requires (Dev)
- myena/default-logger: 1.1.*
- phpunit/phpunit: 9.3.*
- zircote/swagger-php: 3.*
Suggests
- myena/default-logger: Simple PSR-compliant logger with ANSI color support
- zircote/swagger-php: Swagger docs!
README
本库旨在成为Rados网关管理API的全面PHP SDK,详情请参考Rados网关管理API文档。
安装
此库设计为使用Composer安装。
{ "require": { "myena/php-rgw-api": "4.*" } }
功能
- 所有包含对象的响应都被建模(列表)
- 整个请求链完全建模,所需参数有类型提示(例如UserRootLink::Info)
- 所有模型都有完整的swagger-php标记
- 包括未记录的
/metadata
端点 - 参数验证(链接),并提供可能有用的错误信息
基本用法
每个组件的更多详细信息可以在下面找到,但以下是一个快速填空示例
$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。