kiryi / flaryi
Flarum API 客户端。
Requires
- php: ^7.4
- guzzlehttp/guzzle: ~6.0
- kiryi/inyi: ^1.0
- kiryi/pathyi: ^1.0
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(总是),请求的字段 username 和 email 以及 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 设置为用户