aportela/mediawiki-wrapper

自定义 MediaWiki API 包装器

1.0.7 2023-09-26 08:17 UTC

This package is auto-updated.

Last update: 2024-09-03 09:49:57 UTC


README

自定义 MediaWiki API 包装器

要求

  • 最低 PHP 版本 8.x
  • curl 扩展必须启用(aportela/httprequest-wrapper)

限制

目前仅支持英文 Wikipedia 和 Wikidata 页面,以及文件

安装(composer)依赖

composer require aportela/mediawiki-wrapper

代码示例

<?php

    require "vendor/autoload.php";

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

    // get wikipedia title page from wikidata item
    $i = new \aportela\MediaWikiWrapper\Wikidata\Item($logger, \aportela\MediaWikiWrapper\APIType::REST);
    $i->setItem("Q319");
    $title = $i->getWikipediaTitle(\aportela\MediaWikiWrapper\Language::ENGLISH);

    // get wikipedia title page from wikidata url
    $i = new \aportela\MediaWikiWrapper\Wikidata\Item($logger, \aportela\MediaWikiWrapper\APIType::REST);
    $i->setURL("https://www.wikidata.org/wiki/Q319");
    $title = $i->getWikipediaTitle(\aportela\MediaWikiWrapper\Language::ENGLISH);

    // get wikipedia html page from wikipedia title
    $p = new \aportela\MediaWikiWrapper\Wikipedia\Page($logger, \aportela\MediaWikiWrapper\APIType::REST);
    $p->setTitle($title);
    $html = $p->getHTML();

    // get wikipedia html page from wikipedia url
    $p = new \aportela\MediaWikiWrapper\Wikipedia\Page($logger, \aportela\MediaWikiWrapper\APIType::REST);
    $p->setURL("https://en.wikipedia.org/wiki/Jupiter");
    $html = $p->getHTML();

    // get file URL from title
    $f = new \aportela\MediaWikiWrapper\Wikipedia\File($logger, \aportela\MediaWikiWrapper\APIType::REST);
    $f->setTitle("Commons-logo.svg");
    if ($f->get()) {
        $preferredURL = $f->getURL(\aportela\MediaWikiWrapper\FileInformationType::PREFERRED);
        $originalURL = $f->getURL(\aportela\MediaWikiWrapper\FileInformationType::ORIGINAL);
        $thumbnailURL = $f->getURL(\aportela\MediaWikiWrapper\FileInformationType::THUMBNAIL);
    }

PHP Composer