quranacademy/mediawiki-sdk

MediaWiki API SDK

2.3 2021-04-26 13:02 UTC

This package is auto-updated.

Last update: 2024-08-26 20:26:16 UTC


README

Build Status Total Downloads Latest Stable Version License

警告: SDK 还未准备好用于生产。

MediaWiki SDK - 用于操作 MediaWiki API 的库。

MediaWiki 的最低版本:1.27+。

内容

安装

要安装 MediaWiki SDK,请执行以下命令

composer require quranacademy/mediawiki-sdk

快速入门

use MediaWiki\Api\Api;
use MediaWiki\Api\Exceptions\ApiException;
use MediaWiki\Storage\FileStore;
use MediaWiki\HttpClient\CurlHttpClient;

$url = 'http://ru.example.com/api.php';

$httpClient = new CurlHttpClient();
$storage = new FileStore(__DIR__.'/storage/cache');

$api = new Api($url, $httpClient, $storage);

授权

$username = 'John@FooBot';
$password = 'pri9l1fl1j315hmp3okbnqspqcgaue1t';

try {
    $api->login($username, $password);
} catch (ApiException $exception) {
    echo sprintf('MediaWiki API Error: ', $exception->getMessage());

    exit;
}

// bool(true)
var_dump($api->isLoggedIn());

// выход
$api->logout();

执行请求

$parameters = [
    'action' => 'query',
    'list' => 'allpages',
];

$response = $api->request('POST', $parameters);

// или

$parameters = [
    'list' => 'allpages',
];

$response = $api->query($parameters);

var_dump($response);

request 方法参数

  • method - HTTP 方法 (POST/GET)
  • parameters - 请求参数(可选)
  • headers - 请求头(可选)
  • decode - 如果参数为 true,则解码请求(仅适用于 json,可选)

query 方法参数

  • parameters - 请求参数
  • decode - 如果参数为 true,则解码请求(仅适用于 json,可选)