multidialogo / api-php-sdk
此包的最新版本(v0.12.4)没有可用的许可信息。
multidialogo服务的php客户端
v0.12.4
2023-11-03 11:39 UTC
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-11 12:24:36 UTC
README
一组用于管理与Multidialogo API交互的类。
快速入门
安装
composer require multidialogo/api-php-sdk
使用示例
use multidialogo\client\MultidialogoClient; $client = MultidialogoClient::builder() ->withHostUrl('http://rest.multidialogo.local') ->withPasswordCredentials('username', 'password') ->withLanguage('it') ->build(); $response = $client->getJson('users/me', ['include' => 'profile']); print_r($response->body);
可以使用基于文件系统的凭证存储来配置客户端。
这是通过此辅助器实现的
->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH)
所以完整的示例将是
$client = MultidialogoClient::builder() ->withHostUrl('https://rest-stage.multidialogo.it') ->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH) ->withLanguage('it') ->build(); $client->getJson('geo/countries');
CLIENT_PROVIDED_FILESYSTEM_PATH 是一个指定文件夹的字符串,客户端将使用该文件夹来存储凭证。文件夹必须是可写的。这是完全可选的,允许省略用户密码,直到它成为强制性的(例如,直到主要或刷新令牌过期)。
可以直接向客户端传递令牌。这种情况适用于登录由前端管理,前端处理令牌刷新程序并将令牌传递给后端代理的情况。这是通过 withBearerToken
辅助方法完成的。示例
$client = MultidialogoClient::builder() ->withHostUrl('https://rest-stage.multidialogo.it') ->withBearerToken($token) ->withLanguage('it') ->build(); $client->getJson('geo/countries');
本地开发
如何构建所需的Docker镜像
构建主镜像(php 7.4)
docker build -f provisioning/Dockerfile-74-composer -t multidialogo-api-php-sdk-composer:latest .
构建php 8.2版本镜像(注意:它不包含composer)。
docker build -f provisioning/Dockerfile-82-cli -t multidialogo-api-php-sdk-php82:latest .
请注意,php82版本仅用于运行单元测试,因此不包含composer。
安装/更新/管理供应商
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest composer <rest of the composer command>
运行单元测试
在php 7.4下运行测试
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest ./vendor/bin/phpunit -c .
在php 8.2下运行测试
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-php82:latest ./vendor/bin/phpunit -c .
语义版本控制
项目遵循语义版本控制。请在master中的任何发布之前正确使用git标签。
示例
git tag -a v0.0.2 -m "Bugfix"
git push --follow-tags