Jump to content

Příručka:WikiPage.php

From mediawiki.org
This page is a translated version of the page Manual:WikiPage.php and the translation is 100% complete.

Třída WikiPage představuje stránku MediaWiki a její historii. Zapouzdřuje přístup k informacím o stránce uloženým v databázi a umožňuje přístup k vlastnostem, jako je text stránky (ve formátu Wikitext), příznaky atd.

Teoreticky by WikiPage měla být modelovým objektem pro stránky, zatímco třída Article se stará o obchodní a prezentační funkce.

Přístup k objektu WikiPage

  • Pokud máte objekt s hodnotou Article , můžete získat objekt s hodnotou WikiPage pomocí funkce Article::getPage().
  • Pro vyžádání objektu WikiPage z aktuálního kontextu použijte RequestContext::getWikiPage() .

Vytvoření nového objektu WikiPage

Použijte objekt typu WikiPageFactory k vytvoření nových objektů typu WikiPage.

Veřejné metody

  • getContent( $audience ) – získá obsah nejnovější revize, kde $audience je jednou z:
    1. RevisionRecord::FOR_PUBLIC – zobrazit všem uživatelům
    2. RevisionRecord::FOR_THIS_USER – zobrazit pro $wgUser
    3. RevisionRecord::RAW – získat text bez ohledu na oprávnění
  • Pokud to ContentHandler podporuje, můžete pro získání textu nejnovější revize v hlavním slotu provést něco jako následující:
$text = $wikiPage->getContent( RevisionRecord::RAW )->getText();
  • convertSelectType() – převedení konstant 'fromdb', 'fromdbmaster' a 'forupdate' na konstantu READ_*.
  • getActionOverrides() – porovnání: ContentHandler::getActionOverrides()
  • clear() – vyčištění objektu.
  • clearPreparedEdit()
  • pageDataFromTitle() – načtení záznam stránky odpovídající jmennému prostoru a názvu objektu Title pomocí upraveného řetězce názvu
  • pageDataFromId()
  • loadPageData() – načtení z daného zdroje podle názvu
  • wasLoadedFrom() – kontrola, zda byla načtena data stránky
  • loadFromRow() – načtení objekt z řádku databáze
  • exists() – kontrola, zda daná stránka existuje
  • canExist()
  • hasViewableContent()
  • isNew() – kontrola, zda má stránka pouze jednu revizi
  • checkTouched() – kontrola, zda stránka existuje a zda se nejedná o přesměrování. Nahrání page_touched
  • isSamePageAs()

Přístupové objekty a kontroly

  • getId() – získat page ID
  • getTitle() – získání objektu článku Title .
  • získání dat z objektu Title:
    • getNamespace() – vrací celé číslo
    • getDBkey()
    • getWikiId()
  • getLanguage() – získání jazykového kódu pro stránku
  • getContentHandler() – vrátí instanci ContentHandler , která bude použita k propracování obsahu této WikiPage.
  • getContentModel() – vrátí ID modelu obsahu stránky (viz konstanty CONTENT_MODEL_XXX).
  • getRevisionRecord() – získá nejnovější RevisionRecord
  • getContent() – získá obsah aktuální revize.
  • Získejte data z tabulky page
    • getQueryInfo() – vrátí tabulky, pole a podmínky spojení, které mají být vybrány pro vytvoření nového objektu stránky.
    • getTouched() – získá pole page_touched
    • getLinksTimestamp() – získá pole page_links_updated
    • getLatest() – získá pole page_latest
    • getPageIsRedirectField() – viz níže
  • getTimestamp() – získá časové razítko nejnovější revize. Více na stránce setTimestamp().
  • Týkající se přispívajících uživatelů:
    • getContributors() – zobrazí seznam uživatelů, kteří tento článek upravili, s výjimkou uživatele, který provedl poslední revizi článku
    • getUser() – získá ID uživatele, který provedl poslední revizi článku.
    • getCreator() – získá ID uživatele, který stránku vytvořil
  • getUserText()
  • getComment()
  • getMinorEdit()
  • isCountable()
  • Týkající se kategorií
    • getCategories() – zobrazí seznam kategorií, kterých je tato stránka členem.
    • getHiddenCategories()
  • Týkající se přesměrování
    • isRedirect()
    • getPageIsRedirectField() – získá hodnotu pole page_is_redirect v databázi
    • followRedirect() – získá objekt Title nebo URL, na kterou tato stránka přesměrovává.
    • getRedirectURL()
  • Týkající se parsování:
    • getParserOutput() – získá ParserOutput pro danou hodnotu ParserOptions a ID revize.
    • shouldCheckParserCache()
  • V souvislosti s možností nelokálních databází
    • isLocal() – zkontroluje, zda obsah zobrazený na této stránce pochází z lokální databáze.
    • getWikiDisplayName()
    • getSourceURL()
  • getMutableCacheKeys()

Nastavení, akce stránky a kontroly

  • setTimestamp()
  • Týkající se přesměrování:
    • insertRedirect()
    • insertRedirectEntry()
  • doViewUpdates()
  • doPurge() – spustí akce vyčištění stránky.
  • insertOn() – vloží pro tento článek nový záznam o prázdné stránce. Musí následovat vytvoření revize a spuštění platby $this->updateRevisionOn().
  • updateRevisionOn() – aktualizuje záznam stránky tak, aby odkazoval na nově uloženou revizi.
  • Týkající se sekcí stránky:
    • supportsSections()
    • replaceSectionAtRev()
  • newPageUpdater() – vrátí PageUpdater pro vytvoření stránky nebo vytvoření nových revizí stránky.
    • makeParserOptions() – získá možnosti parseru vhodné pro vykreslení wikitextu hlavního článku.
  • updateParserCache() – aktualizuje mezipaměť parseru. Pravděpodobně bude zastaralé.
  • doSecondaryDataUpdates() – pravděpodobně zastaralé
  • doUpdateRestrictions() – aktualizuje pole omezení článku a zanechat záznam v protokolu. Toto funguje pro ochranu stávajících i neexistujících stránek.
  • getCurrentUpdate() – získá stav probíhající aktualizace krátce před nebo bezprostředně po jejím uložení do databáze (od verze 1.38). Obecně je třeba se vyhnout.
  • Týkající se ochrany stránky:
    • insertNullProtectionRevision() – vloží novou nulovou/fiktivní revize pro tuto stránku.
    • protectDescription() – vytvoří popis, který bude sloužit jako komentář k úpravě.
    • protectDescriptionLog() – vytvoří popis, který bude sloužit jako komentář k záznamu v protokolu.
  • lockAndGetLatest() – zamkne řádek stránky pro tento název, jmenný prostor a ID a vrátí page_latest (nebo 0).
  • getAutoDeleteReason() – automaticky vygeneruje důvod smazání
  • updateCategoryCounts() – by mělo být voláno pouze z odložených aktualizací nebo úloh, aby se předešlo konfliktům.
  • toPageRecord() – získat stránku reprezentovanou touto WikiPage stránkou jako PageStoreRecord.
  • magické metody: __clone(), __wakeup(), __toString()

Metody podobné háčkům

  • onArticleCreate(), onArticleDelete() a onArticleEdit()

Zastaralé metody

  • factory(), newFromID() a newFromRow() – metody pro vytvoření objektu WikiPage - byly zastaralé ve prospěch metod poskytovaných WikiPageFactory.
  • getRedirectTarget()
  • replaceSectionContent()
  • checkFlags()
  • doUserEditContent()
  • doEditUpdates()
  • doDeleteArticleReal()
  • doDeleteArticleBatched()
  • doDeleteUpdates()
  • getDeletionUpdates()
  • hasDifferencesOutsideMainSlot()
  • prepareContentForEdit() – připraví obsah, který se chystá uložit.
  • isBatchedDelete() – kontroluje, zda by smazání této stránky bylo provedeno dávkově. Podívejte se nyní na DeletePage::isBatchedDelete().

Úplný seznam metod naleznete v souboru wmdoc:mediawiki-core/master/php/classWikiPage.html.

Související odkazy