quranacademy / mediawiki-sdk
MediaWiki API SDK
2.3
2021-04-26 13:02 UTC
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
- symfony/console: ~4.0|~5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- guzzlehttp/guzzle: ^6.3
- illuminate/contracts: ^6.0
- mikey179/vfsstream: ^1.6
- mockery/mockery: ^1.2
- phpunit/phpunit: ^7.0
README
警告: 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,可选)