flo-180/oa-sdk-php

OpenAgenda API 的 PHP 封装

v1 2024-01-11 13:16 UTC

This package is auto-updated.

Last update: 2024-09-23 08:46:31 UTC


README

Home Image

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 当前提供了 3 种方法来获取议程配置、议程事件或单个议程事件。这些方法返回 OpenAgenda API 数据作为 JSON。解码 json 或反序列化对象(s)取决于您。

获取议程配置

$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