kiryi/flaryi

Flarum API 客户端。

1.1.0 2020-05-03 15:53 UTC

This package is auto-updated.

Last update: 2024-09-29 05:55:39 UTC


README

A Flarum API 客户端。

安装

composer require kiryi/flaryi

使用

首先以两种可能的方式之一初始化客户端。然后调用一个 可用的端点 并执行与之相关的方法。您将得到 Flarum API 的响应作为返回值,并在后续逻辑中使用它。

构造函数定义

__construct(string $filepath = null)

参数

filepath
相对于您项目根目录的可选文件路径,用于自定义配置 INI 文件。如果没有提供任何内容,则使用默认的 (config/flaryi.ini)。(更多信息)。

方法定义 call

call(string $endpoint): object

将变量分配给视图的数据对象。

参数

endpoint
可用的 端点 之一。

返回值

返回端点,您可以执行其关联的其中一种方法。

初始化

您必须至少提供两个强制参数给客户端,您必须在自定义配置 INI 文件中定义这些参数或使用默认的。

apiUrl
您的 Flarum API 的 URL。通常它是 {YOURFLARUMDOMAIN}/api

apiKey
来自您的 Flarum 安装的 API 密钥。目前您必须手动创建一个 40 个字符长的随机字符串,并将其直接放入您的 Flarum 数据库的 api_keys 表的 key 列,与一个用户 ID 一起放入 user_id 列。用户 ID 取决于您要执行的操作。如果您想使用所有可能的 API 调用,请使用管理员用户。如果不是,您可以在 Flarum 的管理区域创建一个具有首选权限的角色。

是否使用自定义或默认文件,内容必须为

[flaryi]
apiUrl = {URLTOYOURFLARUMAPI}
apiKey = {APIKEYFROMYOUFLARUMINSTALLATION}

默认文件路径是 config/flaryi.ini。如果您想使用自定义文件路径,您必须将其提供给客户端的 构造函数。路径相对于您的项目根目录。

可用的端点

Flarum API 提供了一些端点,您可以在其上执行多个操作。FLARYI 只覆盖了其中一些端点,并且每个端点仅提供一些可用的方法来执行(操作)。

目前可用的端点

示例

configuration/config.ini

[flaryi]
apiUrl = https://flaryi-flarum.com/api
apiKey = qwe147asd258yxc369rtz123fgh456vbn789ui

src/Controller/UserListController.php

$client = new \Kiryi\Flaryi\Client('configuration/config.ini');
$userList = $client->call('User')->getAll([
    'username',
    'email',
]);

将对象保存到 $userList 中,其中包含您的 Flarum 的所有用户。用户对象包含一个 ID(总是),请求的字段 usernameemail 以及 API 提供的一些其他信息。请注意,并非所有内容都可以通过 API 调用来过滤,但您可以使用接收到的用户列表来执行更多过滤,例如以下 API 调用

src/Controller/UserGroupController.php

$user = $client->call('User')->get(5);
if (isset($user->data->relationships->groups->data[0]->id)) {
    $client->call('User')->setGroups(5, [2, 3]);
    echo 'User was added to Group 2 and 3.';
} else {
    echo 'User is already in a Group.';
}

此脚本

  • 通过 API 调用获取 ID 为 5 的用户
  • 检查用户是否有一个组
  • 如果有,则不会进行任何更改
  • 如果没有,则通过第二个 API 调用将组 2 和 3 设置为用户