openagenda / sdk-php
OpenAgenda API 的 PHP 封装器
Requires
- php: ^7.1.10 || ^8.0
- guzzlehttp/guzzle: >=6.5
Requires (Dev)
- phpunit/phpunit: >=7.0
README
OpenAgendaSDK 是 OpenAgenda API v2 的 PHP 封装器。
先决条件
需要 Composer 以及在您的 Web 服务器上运行 PHP 7.1 或更高版本。Composer 安装说明可以在 https://getcomposer.org.cn/doc/00-intro.md#installation-linux-unix-macos 找到。
安装
将 OpenAgendaSdk 作为依赖项安装到您的项目中
composer require openagenda/sdk-php
基本用法
创建 OpenAgendaSdk 实例
首先使用您的 OpenAgenda 公开密钥作为参数创建一个 OpenAgendaSdk 实例
$public_key = 'mypublickey'; $oa = new \OpenAgendaSdk\OpenAgendaSdk($public_key);
此外,您还可以设置一些客户端选项,如代理设置
$oa = new \OpenAgendaSdk\OpenAgendaSdk($public_key, [RequestOptions::PROXY => '127.0.0.1:8888']);
由于 OpenAgenda 使用 Guzzle 客户端,请阅读其文档了解有关请求选项的更多信息: https://docs.guzzlephp.org/en/stable/
请求 OpenAgenda 数据
OpenAgendaSdk 目前提供了三种方法来获取议程配置、议程事件或单个议程事件。这些方法返回 OpenAgenda API 数据作为 JSON。解码 JSON 或反序列化对象取决于您。
获取议程配置
$agendaUid = 123456; $json = $oa->getAgenda($agendaUid);
获取一个议程的事件列表
$agendaUid = 123456; $json = $oa->getEvents($agendaUid);
您可以在请求中添加一些参数,如过滤器、排序、搜索、分页。请阅读 OpenAgenda API 文档以获取完整选项列表: https://developers.openagenda.com/10-lecture/
$agendaUid = 123456; $json = $oa->getEvents($agendaUid, ['search' => 'Concert']); $newjson = $oa->getEvents($agendaUid, ['search' => 'Concert', 'sort' => 'timings.asc', 'feature' => 1]);
获取议程事件
$agendaUid = 123456; $eventUid = 654321; $json = $oa->getEvent($agendaUid, $eventUid);
测试
先决条件
为了运行测试,您必须在 PHP dotenv 文件 (.env) 或使用命令行将 OPENAGENDA_SDK_ENV 值设置为 'test'。方法取决于您使用的框架。
PHP dotenv 示例
OPENAGENDA_SDK_ENV='test'
使用命令行
export OPENAGENDA_SDK_ENV='test'
运行测试
OpenAgendaSdk 测试基于 JSON 模拟。
运行测试
./vendor/bin/phpunit ./vendor/openagenda/sdk-php/tests
Testing /your-project-folder/vendor/openagenda/sdk-php/tests
...... 6 / 6 (100%)
Time: 00:00.026, Memory: 10.00 MB
OK (6 tests, 11 assertions)
测试完成后,将环境重置为 'default' 以获取真实的 API 数据。
OpenAgenda API 文档
OpenAgenda API v2 文档可在以下地址找到: https://developers.openagenda.com