拥有金手的人/lotr-php-sdk

v1.0.2 2023-04-29 13:19 UTC

This package is auto-updated.

Last update: 2024-09-30 01:57:33 UTC


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 initcomposer 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();
注意:排序可以应用于任何有效的键,并带有 ascdesc 方向
过滤结果(示例 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 函数接受一个二维数组。每个数组必须包含一个 keyfilter_type 的值。

existsnot_exist 以外的所有过滤器类型都必须有一个 value 值。

接受的 filter_type 值仅包括 matchnot_matchincludeexcludeexistsnot_existregex_matchregex_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文件。