aportela/mediawiki-wrapper

Custom mediawiki api wrapper

Installs: 48

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/aportela/mediawiki-wrapper

2.2.2 2025-11-10 20:26 UTC

This package is auto-updated.

Last update: 2025-11-14 20:16:43 UTC


README

Custom mediawiki api wrapper

Requirements

  • mininum php version 8.4
  • curl extension must be enabled (aportela/httprequest-wrapper)

Limitations

At this time only Wikipedia & Wikidata english pages are supported, also files

Install (composer) dependencies:

composer require aportela/mediawiki-wrapper

Code example:

<?php

    require "vendor/autoload.php";

    $logger = new \Psr\Log\NullLogger("");

    $cache = null;
    // uncomment the following lines for storing into disk cache the lyrics
    //$cachePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . "cache";
    //$cache = new \aportela\SimpleFSCache\Cache($logger, \aportela\SimpleFSCache\CacheFormat::NONE, $cachePath);

    $wikidataItem = new \aportela\MediaWikiWrapper\Wikidata\Item($logger, \aportela\MediaWikiWrapper\API::DEFAULT_THROTTLE_DELAY_MS, $cache);
    // get wikipedia title page from wikidata item
    $title = $wikidataItem->getWikipediaTitleFromIdentifier("Q319");
    // get wikipedia title page from wikidata url
    $title = $wikidataItem->getWikipediaTitleFromURL("https://www.wikidata.org/wiki/Q319");

    $wikipediaPage = new \aportela\MediaWikiWrapper\Wikipedia\Page($logger, \aportela\MediaWikiWrapper\API::DEFAULT_THROTTLE_DELAY_MS, $cache);
    // get wikipedia html page from wikipedia title
    $html = $wikipediaPage->getHTMLFromTitle("Jupiter");
    // get wikipedia html page from wikipedia url
    $html = $wikipediaPage->getHTMLFromURL("https://en.wikipedia.org/wiki/Jupiter");

    $wikipediaFile = new \aportela\MediaWikiWrapper\Wikipedia\File($logger, \aportela\MediaWikiWrapper\API::DEFAULT_THROTTLE_DELAY_MS, $cache);
    $wikipediaFile->get("Commons-logo.svg");
    // get preferred/original/thumbnail file URL
    $preferredURL = $wikipediaFile->getURL(\aportela\MediaWikiWrapper\FileInformationType::PREFERRED);
    $originalURL = $wikipediaFile->getURL(\aportela\MediaWikiWrapper\FileInformationType::ORIGINAL);
    $thumbnailURL = $wikipediaFile->getURL(\aportela\MediaWikiWrapper\FileInformationType::THUMBNAIL);

PHP Composer