communityds / deputy-api-wrapper
Deputy API 包装器
1.6.1
2023-06-28 06:27 UTC
Requires
- php: >=5.6
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^5.0
README
允许通过基于对象的接口与 Deputy API (版本 1) 进行交互,该接口抽象了从 REST API 发送和接收内容的过程。
查看文档 了解如何使用此包装器。
使用 CLI 工具 探索包装器。
安装
此软件包可以通过 Composer 进行安装
composer require communityds/deputy-api-wrapper
默认情况下,此软件包使用 Guzzle 库发送 API 请求。通过 Composer 安装此软件包
composer require guzzlehttp/guzzle ^6.0
查看 HTTP 客户端文档 了解可以使用哪些其他库。
使用方法
创建包装器的单例实例,并至少提供认证和目标组件配置
use CommunityDS\Deputy\Api\Wrapper; $wrapper = Wrapper::setInstance( [ 'auth' => [ 'class' => 'CommunityDS\Deputy\Api\Adapter\Config\PermanentToken', 'token' => '<YOUR_OAUTH_TOKEN_HERE>', ], 'target' => [ 'class' => 'CommunityDS\Deputy\Api\Adapter\Config\TargetConfig', 'domain' => '<YOUR_DOMAIN_HERE>', ], ] );
使用 辅助函数 获取所需的记录。以下示例返回今天的所有日程/值班表
$today = mktime(0, 0, 0); $shifts = $wrapper->findRosters() ->andWhere(['>=', 'startTime', $today]) ->andWhere(['<', 'endTime', strtotime('+1 day', $today)]) ->joinWith('employeeObject') ->joinWith('operationalUnitObject') ->all(); foreach ($shifts as $shift) { echo date('h:ia', $shift->startTime) . ' to ' . date('h:ia', $shift->endTime) . ' for ' . $shift->employeeObject->displayName . ' at ' . $shift->operationalUnitObject->displayName . PHP_EOL; }
更多详细信息和示例可以在 文档 中找到。