digitonic / mdoc-api
一个与mDoc API交互的框架无关的PHP SDK。
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ~6.0
- illuminate/support: 5.8.*
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2022-08-20 20:15:14 UTC
README
这是官方的框架无关PHP SDK,用于与mDoc API交互。虽然本质上框架无关,但该包还包含在Laravel中工作的配置。
包目前正在积极开发中,请在生产环境中谨慎使用
安装
您可以通过composer安装此包
composer require digitonic/mdoc-api
用法
框架无关用法
请注意:您必须从您的账户配置文件中获取API密钥
$baseUrl = 'https://mdoc.it/api/1.0/'; $apiKey = 'KxDMt9GNVgu6fJUOG0UjH3d4kjZPTxFiXd5RnPhUD8Qz1Q2esNVIFfqmrqgB';
// Instantiate a new Guzzle client $guzzle = new \GuzzleHttp\Client([ 'base_uri' => $baseUrl, 'headers' => [ 'Accept' => 'application/json', 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $apiKey ], ]);
// Instantiate a new mDoc API client with the Guzzle dependency. $mdocApi = new \Digitonic\MdocApi\Client($guzzle)
mDoc API客户端现在可以用作与各种端点通信的依赖项。例如,要获取API提供给您的所有团队的列表,可以使用以下命令 -
$listTeams = new Digitonic\MdocApi\Teams\ListAllTeams($mdocApi); $response = $listTeams->send(); print_r($response);
所有返回数据的端点都将返回数据作为 \Illuminate\Support\Collection
。这将在搜索响应时提供各种实用方法。有关Laravel集合的更多信息,请参阅 https://laravel.net.cn/docs/5.8/collections。请注意,此包使用时不需要完整的Laravel框架。
Collection {#548 ▼ #items: array:2 [▼ "data" => array:3 [▼ 0 => {#597 ▼ +"uuid": "45bdd45e-59e4-11e9-a656-0a586460061d" +"name": "Test Team 1" +"owner": "87671060-4f20-11e9-8e5f-0a5864600621" +"created_at": "2019-04-08 10:54:16" +"updated_at": "2019-04-08 10:54:16" } 1 => {#595 ▼ +"uuid": "cb886c4c-4f1d-11e9-b27f-0a5864600621" +"name": "Test Team 2" +"owner": "bea63aea-4f1d-11e9-a775-0a5864600621" +"created_at": "2019-03-25 16:48:19" +"updated_at": "2019-04-18 11:42:11" } 2 => {#598 ▼ +"uuid": "77f98560-5b76-11e9-8a31-0a5864600906" +"name": "Test Team 3" +"owner": "19bca08a-5b72-11e9-a205-0a586460090b" +"created_at": "2019-04-10 10:53:18" +"updated_at": "2019-04-10 10:53:18" } ] "meta" => {#585 ▼ +"pagination": {#586 ▼ +"total": 3 +"count": 3 +"per_page": 15 +"current_page": 1 +"total_pages": 1 +"links": [] } } ] }
Laravel用法
在Laravel >5.5中,该包将自动注册服务提供者。在Laravel <5.5中,您必须安装此服务提供者。
// config/app.php 'providers' => [ ... Digitonic\MdocApi\MdocApiServiceProvider::class, ... ];
在Laravel >5.5中,该包将自动注册外观。在Laravel <5.5中,您必须手动安装 所有 外观。
// config/app.php 'aliases' => [ ... 'ListAllTeams' => Digitonic\MdocApi\Facades\Teams\ListAllTeams::class, 'CampaignCreate'=> Digitonic\MdocApi\Facades\Campaigns\Create::class ... ];
您可以使用以下命令发布此包的配置文件
php artisan vendor:publish --provider="Digitonic\MdocApi\MdocApiServiceProvider"
以下配置文件将在 config/mdoc-api.php
中发布
return [ 'base_url' => env('MDOC_BASE_URL', 'https://mdoc.it/api/1.0/'), 'api_key' => env('MDOC_API_KEY', ''), ];
IoC容器
IoC容器将在调用任何端点时自动为您解决MdocApi
依赖项。这意味着您只需在容器中输入端点类型提示即可检索具有所有配置的对象。
// From a constructor class FooClass { public function __construct(Digitonic\MdocApi\Teams\ListAllTeams $listTeams) { $listTeams->send(); } } // From a method class BarClass { public function barMethod(Digitonic\MdocApi\Teams\ListAllTeams $listTeams) { $listTeams->send(); } }
或者您可以直接使用外观
ListAllTeams:send();
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
安全
如果您发现任何与安全相关的问题,请通过电子邮件发送至 steven@digitonic.co.uk,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。