openagenda/sdk-php

OpenAgenda API 的 PHP 封装器

1.4.3 2023-12-12 16:51 UTC

This package is not auto-updated.

Last update: 2024-09-20 14:41:19 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 目前提供了三种方法来获取议程配置、议程事件或单个议程事件。这些方法返回 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