skiddle / skiddle-php-sdk
Skiddle API 的 PHP 封装器
Requires
- php: >=5.4.0 || ^7.0
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: >=3.7.0
README
SDK 的目的是允许轻松访问 Skiddle API。这将使开发人员能够轻松与 Skiddle API 通信,以获取有关事件、艺术家和场所的信息。
目录
需求
API 需要 PHP > 5.4.0,因为使用了自动加载和新的数组结构。它还要求启用 cURL,这通常是 PHP 的默认设置,但最好还是检查一下。
要连接到 API,需要 TLS v1.2 或更高版本。自 1.0.1 版本以来,Curl 已通过 OpenSSL 支持此功能。
安装
下载 SDK
将 SDK 集成到项目中有很多种方法,最简单的方法可能是通过 composer。
"require": {
"skiddle/skiddle-php-sdk": "1.0.0"
}
您也可以克隆 git 仓库
git clone https://github.com/Skiddle/skiddle-php-sdk
或者,直接在这里 下载 zip 文件 并解压缩到您的项目中。
如果使用后两种方法中的任何一种,您需要将 autoloader.php
文件包含到您的项目中,以加载所有内容。
获取 API 密钥
获取 API 密钥非常简单且免费,只需访问 https://www.skiddle.com/api/join.php 获取一个即可。
集成
一旦您有了代码和 API 密钥,就可以开始了!
示例
您可以在仓库中包含的 /demo/
目录中查看代码示例。
认证
第一步是简单地认证自己 - 只需告诉 SDK 您的 API 密钥即可。
try { $session = new SkiddleSDK\SkiddleSession(['api_key'=>'APIKEYGOESHERE']); } catch (SkiddleSDK\SkiddleException $e) { echo $e->getMessage(); exit(); }
如果您不想将其存储在代码中,可以将其添加到服务器环境中的 SKIDDLE_API_KEY
,SDK 将从那里读取。
准备类
在成功认证之后,您需要将凭证传递给您想要使用的相关类。这将结合您的认证信息和必要的端点来执行调用。
要这样做,只需调用您希望使用的类的 setSession() 方法即可。
$events = new SkiddleSDK\Events; try { $events->setSession($session); } catch (SkiddleSDK\SkiddleException $e) { echo $e->getMessage(); exit(); }
添加和删除条件
现在您已经准备好对 API 进行调用。您现在可以技术上调用返回列表,但是 Skiddle SDK 允许您轻松添加或删除条件,使您的查询更符合您的需求。
要添加条件,只需在 addCond()
方法中传递字段和值即可。
$events->addCond('eventcode','CLUB'); $events->addCond('ticketsavailable','1);
同样,要删除条件,只需使用 delCond()
方法,只需使用字段名即可。
$events->delCond('ticketsavailable');
获取结果
一旦构建了您的过滤器列表,就可以获取您的列表了!
$listings = $events->getListings(); foreach($listings->results as $result) {...}
有关您可以通过哪些参数进行筛选的完整列表,请查看 这里
获取单个结果
如果您需要获取单个结果,可以调用 getListing()
,无需构建参数数组 - 只需传递相关ID
例如
$listing = $events->getListing(12345); var_dump($listing);
注意事项
- 在查询eventcodes时,尽量使用大写值。传递CLUB将有效,而传递club可能会返回错误
- 当使用minDate和maxDate条件时,时间戳需要以
Y-m-d
或Y-m-dTH:i:s
格式。 - 不喜欢对象?您可以通过在
getListings()
中传递布尔值来以数组格式获取结果$listings = $events->getListings(true); foreach($listings['results'] as $result) {...}
- 敬请期待更多内容
许可证
此SDK受GNU通用公共许可证v3.0许可。 在此处查看许可证
联系
有任何问题或改进SDK的方法吗?请随时记录问题,或随意克隆和分支!