trekksoft / sdk
0.3.17
2023-04-05 15:44 UTC
Requires
- php: >=5.5.9
- doctrine/collections: ^1.3
- league/oauth2-client: ^1.3
- moneyphp/money: >=3.0.0 <3.2.0
- monolog/monolog: ^1.18
- somoza/oauth2-client-middleware: ^0.2.5
Requires (Dev)
- phpunit/phpunit: ^7
README
概述
这是 Trekksoft API 的 PHP SDK。
安装
要将 SDK 安装到您的项目中,您需要使用 composer(请参阅 https://getcomposer.org.cn/)。然后运行
composer require trekksoft/sdk
使用方法
基本设置
$credentials = [
'clientId' => '<your-client-id>',
'clientSecret' => '<your-client-secret>',
];
$provider = new \TrekkSoft\SDK\OAuth2\Provider\TrekkSoftProvider($credentials);
//Get activities list
$activities = $provider->getActivities();
//Get availabilities list
$availabilities = $provider->getAvailabilities();
//Get merchants a list of merchants which you can access
$merchants = $provider->getMerchants();
演示
请检查 demo
文件夹以获取此 SDK 的使用示例。要使其运行,您需要将 config.inc.php.dist
复制到 config.inc.php
,并在新文件中配置您的客户端 ID 和客户端密钥。
然后,您可以将这些文件放置在您的 webroot 文件夹下,并通过 Web 服务器运行它们。例如 http://localhost/trekksoft/activities.php
模型
从 API 收到的所有数据都自动包装成对象,以便更容易地处理数据。您可以在 src/Model
文件夹下检查这些模型。高级模型是 Activity
和 Availability
。其他模型位于这些模型之下。
例如,要获取可用性项的占用率,您需要执行以下操作:$availability->getCapacityInfo()->getOccupancy()
。
过滤条件
在发出请求时,您可以使用标准对象来设置过滤选项
TrekkSoft\SDK\Criteria\ActivityCriteria
用于活动TrekkSoft\SDK\Criteria\AvailabilityCriteria
用于可用性TrekkSoft\SDK\Criteria\MerchantCriteria
用于商家
例如,以下代码将仅返回包含 "rome" 的 bus2alps 商家的所有活动
$criteria = new \TrekkSoft\SDK\Criteria\ActivityCriteria();
$criteria->setMerchant('bus2alps');
$criteria->setTitleLike('rome');
可用性条件示例
$criteria = new \TrekkSoft\SDK\Criteria\AvailabilityCriteria();
$criteria->setMerchant('demo');
$criteria->resetSeats()->resetBookingTime()->setStartsFrom(null)->setWithGuests(true);
迭代器
对提供者的每次请求都返回 迭代器 作为结果,而不是请求对象直接数组的直接数组。这可用于自动处理分页并避免发送大量数据。当您遍历迭代器时,根据需要可能会向服务器发送附加请求。如果您仍然想获取平面数组,请使用 iterator_to_array()
方法。
维护者
此项目由 TrekkSoft 团队维护。