Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/it-shura/mediawiki-sdk
SDK for MediaWiki API
https://github.com/it-shura/mediawiki-sdk
mediawiki mediawiki-api wikipedia wikipedia-api
Last synced: about 2 months ago
JSON representation
SDK for MediaWiki API
- Host: GitHub
- URL: https://github.com/it-shura/mediawiki-sdk
- Owner: IT-Shura
- License: mit
- Created: 2016-05-22T15:04:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-21T03:46:52.000Z (over 7 years ago)
- Last Synced: 2024-10-15T08:21:06.157Z (3 months ago)
- Topics: mediawiki, mediawiki-api, wikipedia, wikipedia-api
- Language: PHP
- Size: 65.4 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MediaWiki SDK
[![Build Status](https://travis-ci.org/IT-Shura/MediaWiki-SDK.svg)](https://travis-ci.org/IT-Shura/MediaWiki-SDK)
[![Total Downloads](https://poser.pugx.org/it-shura/mediawiki-sdk/downloads)](https://packagist.org/packages/it-shura/mediawiki-sdk)
[![Latest Stable Version](https://poser.pugx.org/it-shura/mediawiki-sdk/v/stable)](https://packagist.org/packages/it-shura/mediawiki-sdk)
[![License](https://poser.pugx.org/it-shura/mediawiki-sdk/license)](https://packagist.org/packages/it-shura/mediawiki-sdk)MediaWiki SDK - библиотека для работы с API MediaWiki.
Минимальная версия MediaWiki: 1.27+.
## Содержание
- [Установка](#Установка)
- [Быстрый старт](#Быстрый-старт)
- [Авторизация](#Авторизация)
- [Выполнение запроса](#Выполнение-запроса)## Установка
Для установки MediaWiki SDK выполните команду:
composer require it-shura/mediawiki-sdk
## Быстрый старт
```php
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);
```## Авторизация
```php
$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();
```## Выполнение запроса
```php
$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, опционально)