it-shura/mediawiki-sdk

此包已 弃用 且不再维护。作者建议使用 quranacademy/mediawiki-sdk 包。

MediaWiki API SDK

2.1 2017-09-21 03:46 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:58:31 UTC


README

Build Status Total Downloads Latest Stable Version License

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

MediaWiki 最小版本:1.27+。

内容

安装

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

composer require it-shura/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,可选)