xivapi/xivapi-php

为 xivapi.com 提供的 PHP SDK

1.6.12 2019-05-18 17:19 UTC

README

此提供与 XIVAPI 交互的非常简单的客户端,以获取动态对象作为回报。

入门

此库需要 PHP 7.4+

使用 composer 安装:https://packagist.org.cn/packages/xivapi/xivapi-php

  • composer require xivapi/xivapi-php

使用

xivapi-php 库是围绕 Guzzle 的一个非常简单的包装。

初始化

$api = new \XIVAPI\XIVAPI();

设置您的密钥(如果有的话)

您可以通过设置环境变量 XIVAPI_KEY 或通过以下方式

$api->environment->key('my_api_key');

使用查询(不包括搜索)

API 提供了一组查询,允许您自定义响应,这些查询在您请求数据之前都会传递给 API。搜索有一些额外的查询,这些查询是硬编码的,因为这些与 Elastic Search 交互。

内容

内容根据游戏文件中可用的内容动态驱动,使用魔法方法调用不同类型,例如

  • item()
  • instanceContent()
  • tripleTriadCard()
$api->content->[contentName]()->list();
$api->content->[contentName]()->one($id);

// examples
$item = $api->content->item()->one(1675);
$action = $api->content->action()->one(127);
$instances = $api->content->instanceContent()->list();

// non dynamic methods:
$api->content->list();
$api->content->servers();
$api->content->serversByDataCenter();

搜索

$api->search->find($string)->results();

搜索修改方法包括

// The column to search on
$api->search->findColumn($column);

// the algorithm to use
$api->search->findAlgorithm($searchStringAlgorithm);

// the page to start on
$api->search->page($number);

// sorting order
$api->search->sort($field, $order);

// limit results
$api->search->limit($limit);

// columns in the results
$api->search->columns($columns);

// change elastics filter bool condition (eg: should, must, must_not)
$api->search->bool($bool);

过滤器是可累积的,可以添加多个,例如

$api->search
    ->filter('LevelItem', 30, SearchFilters::GREATER_THAN)
    ->filter('ItemSearchCategory', 10, SearchFilters::GREATER_THAN_OR_EQUAL_TO);

角色

$api->character->search($name, $server, $page);
$api->character->get($id, $data = [], $extended = false);
$api->character->verify($id);
$api->character->update($id);
$api->character->delete($id);

自由公司

$api->freecompany->search($name, $server, $page);
$api->freecompany->get($id, $data = []);
$api->freecompany->update($id);
$api->freecompany->delete($id);

链接船

$api->linkshell->search($name, $server, $page);
$api->linkshell->get($id, $data = []);
$api->linkshell->update($id);
$api->linkshell->delete($id);

战场团队

$api->pvpteam->search($name, $server, $page);
$api->pvpteam->get($id, $data = []);
$api->pvpteam->update($id);
$api->pvpteam->delete($id);

注意:_private API 是 XIVAPI 和 MogBoard 内部使用的。它不能公开使用,并且被访问密钥锁定。