在过去的几周里,我们一直在开发一个 PHP SDK,旨在帮助 PHP 开发者更轻松地入门 Hapio。现在,我们很高兴宣布该 SDK 已正式发布。
Hapio PHP SDK 旨在简化将 Hapio 强大的预订和排程功能集成到 PHP 应用程序中的流程,为开发人员提供了一个强大的工具,以增强其项目的功能。
系统要求
在开始使用 Hapio PHP SDK 之前,开发者应确保其环境满足以下要求:
PHP 8.2 或更高版本。
入门指南
将 Hapio SDK 集成到 PHP 项目中是一个非常简单的过程。开发人员可以使用流行的 PHP 依赖管理工具 Composer 将其引入项目。以下是入门指南:
打开项目的终端或命令提示符。
运行以下 Composer 命令:
外壳
composer require hapio/hapio-sdk-php
SDK 安装成功后,开发者即可在项目中开始使用它。
使用 SDK
使用 Hapio PHP SDK 非常简单,只需实例化一个 API 客户端即可开始使用。以下是一个关于如何开始使用该 SDK 的示例:
php
// Require the Composer autoloader
require __DIR__ . '/vendor/autoload.php';
use Hapio\Sdk\ApiClient;
// Instantiate a Hapio API client
$apiClient = new ApiClient('your-api-token');
// Get a list of all bookings this week
$response = $apiClient->bookings()->list([
'from' => new DateTime('monday this week 00:00:00'),
'to' => new DateTime('friday this week 23:59:59'),
]);
while ($response) {
foreach ($response->getItems() as $booking) {
var_dump($booking);
}
if ($response->hasMoreItems()) {
$response = $response->getNextPage();
} else {
$response = null;
}
}
文档与模型
Hapio PHP SDK 提供了详尽的文档,并包含多种模型,可高效地与 Hapio API 进行交互。其中部分可用模型包括:
- 项目
- 位置
- 资源
- 服务
- 日程表
- 重复计划
- 重复计划块
- 预订
- 可预约时段
- TimeSpan
- 资源服务关联
这些模型简化了与 Hapio 实体的交互,使数据的创建、更新和检索变得更加轻松。开发人员可以使用 snake_case 或 camelCase 命名约定来设置属性并与模型进行交互。
仓库
为了方便与 API 进行通信,Hapio PHP SDK 为 Hapio 中提供的每种实体类型都提供了存储库类。这些存储库充当数据发送和检索的网关,可通过 ApiClient 类的相关方法进行访问。
可用的仓库包括:
- 项目仓库
- 位置存储库
- 资源存储库
- 服务仓库
- ScheduleBlockRepository
- RecurringScheduleRepository
- 周期性计划任务块存储库
- BookingRepository
每个存储库都提供了一组方法,这些方法对应于相应实体类型的可用 API 端点。
分页显示的回复
对于返回分页数据列表的 API 端点,Hapio SDK 提供了 PaginatedResponse 类,其中包含多种方法,可简化对这些响应的处理。开发者可以轻松地浏览分页数据、检索项目,并判断是否还有更多页面。
异常处理
Hapio PHP SDK 包含强大的异常处理功能,确保开发者能够有效管理错误。当 API 返回 4XX 或 5XX 状态码时,系统会抛出相应的异常。状态码为 422 的验证错误将触发 ValidationException,而其他 4XX 和 5XX 状态码则会引发 ErrorException。这些异常允许开发者访问错误消息、状态码以及(如适用)验证错误。
随着 Hapio PHP SDK 的发布,开发者现在可以将 Hapio 的预订和排程功能无缝集成到他们的 PHP 项目中,从而提升应用程序的效率和功能。
该 SDK 已在Packagist.org 上发布,可通过 Composer 安装。您也可以在GitHub 上查看源代码。