拥有金手的人 / lotr-php-sdk
LOTR API 的 PHP SDK
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^9.5
README
指环王(LOTR)PHP SDK
这是指环王 API 的 PHP SDK,可在 https://the-one-api.dev/v2 找到。
API 文档可在 https://the-one-api.dev/documentation 查看。
您需要生成自己的唯一访问令牌,您可以从 https://the-one-api.dev/sign-up 获取。
安装
您可以使用 Composer 安装 LOTR SDK。
首先,请确保您的系统已安装 Composer。
然后,运行 composer init
和 composer require themanwiththegoldenhand/lotr-php-sdk
。
或者,您可以下载 LOTR.php
文件并将其手动包含到项目中。
使用方法
要在您的项目中使用 LOTR SDK,首先需要创建一个 LOTR\LOTR 类的新实例
use LOTR\LOTR; require_once '/path/to/vendor/autoload.php'; $lotr = new LOTR(YOUR_APIKEY);
此 README 中的使用示例假设您已通过 Composer 安装了此包。
请确保将 YOUR_APIKEY
替换为访问令牌,您可以从 https://the-one-api.dev/sign-up 获取。
然后,您可以使用客户端对 LOTR API 进行请求。例如,获取所有电影列表
$response = $lotr->getMovies();
$response
变量将包含 API 的响应,您可以对其进行操作以实现所需功能。
其他使用示例
获取所有电影列表
$response = $lotr->getMovies();
请求一部特定电影
$response = $lotr->getMovie('5cd95395de30eff6ebccde56');
请求一部特定电影的全部电影台词(仅适用于指环王三部曲)
$response = $lotr->getMovieQuotes('5cd95395de30eff6ebccde5b');
获取所有电影台词列表
$response = $lotr->getQuotes();
请求一个特定电影台词
$response = $lotr->getQuote('5cd96e05de30eff6ebcce7e9');
限制结果
电影服务分页,每页最多显示 2 个结果
$lotr->setLimit(2); $response = $lotr->getMovies();
分页结果
电影服务分页的第二个页面,每页最多显示 2 个结果
$lotr->setLimit(2); $lotr->setPage(2); $response = $lotr->getMovies();
偏移结果
电影服务分页,每页最多显示 2 个结果,并偏移 1 个结果
$lotr->setOffset(1); $lotr->setLimit(2); $response = $lotr->getMovies();
注意:如果设置了偏移量,则不会应用页面设置
排序结果
按 academyAwardWins
降序排列的电影结果
$lotr->setSort('academyAwardWins', 'desc'); $response = $lotr->getMovies();
注意:排序可以应用于任何有效的键,并带有 asc
或 desc
方向
过滤结果(示例 1)
筛选出那些是霍比特人或人类种族,没有金色头发并且名字包含“king”的角色
$lotr->setFilters([ [ 'key' => 'race', 'filter_type' => 'include', 'value' => 'Hobbit,Human' ], [ 'key' => 'hair', 'filter_type' => 'not_match', 'value' => 'Blonde' ], [ 'key' => 'name', 'filter_type' => 'regex_match', 'value' => 'king' ] ]); $response = $lotr->getCharacters();
过滤结果(示例 2)
筛选出收入超过 10 亿美元并且至少获得过 1 项奥斯卡奖项的电影
$lotr->setFilters([ [ 'key' => 'boxOfficeRevenueInMillions', 'filter_type' => '<', 'value' => 1000 ], [ 'key' => 'academyAwardWins', 'filter_type' => '>=', 'value' => 1 ] ]); $response = $lotr->getMovies();
构建过滤参数
setFilters
函数接受一个二维数组。每个数组必须包含一个 key
和 filter_type
的值。
除 exists
和 not_exist
以外的所有过滤器类型都必须有一个 value
值。
接受的 filter_type
值仅包括 match
、not_match
、include
、exclude
、exists
、not_exist
、regex_match
、regex_not_match
、>
、<
、>=
和 <=
。
如果 filter_type
是 >
、<
、>=
或 <=
之一,则 value
的值必须是数字。对于所有其他 filter_type
值,value
的值必须是非空字符串。
免责声明
本SDK不是完整的实现。更加强调的是对/movie
和/quote
服务的关注。
测试
要运行LOTR SDK的单元测试,首先请确保您已安装PHPUnit并在测试文件中添加了您的访问令牌(tests/Test.php:8
)。然后,从项目的根目录运行以下命令
vendor/bin/phpunit tests/
这将运行tests
目录中的所有测试。
运行项目中的所有测试假定您已克隆了仓库。
贡献
如果您发现任何错误或有任何功能请求,请在GitHub仓库中创建一个问题。我们也欢迎拉取请求!
许可证
本SDK采用Apache-2.0许可证。有关更多信息,请参阅LICENSE文件。