Příručka:Title.php

This page is a translated version of the page Manual:Title.php and the translation is 99% complete.
Outdated translations are marked like this.

Before 1.40:

Třída Title představuje názvy stránek.

  • Title implementuje rozhraní $3 a $4. LinkTarget , PageIdentity , IDBAccessObject
  • Může být vytvořena jednou z níže uvedených tvůrčích metod.
  • Po vytvoření instance lze titul získat v jiných formátech nebo se lze dotázat na jeho atributy. K tomu jsou k dispozici různé nestatické přístupové metody, například getText(), getDBKey(), getNamespace() atd. Mnoho z nich používá Manual:CoreParserFunctions.php ke generování kouzelných slov.
  • Je zamýšlen jako neměnná třída "hodnoty", takže neexistují žádné mutátorové funkce.[1][2]

Retrieval

Methods for accessing an instance of Title include :

Veřejné metody

Metody instancí

Chcete-li vytvořit instanci Title, zavolejte jednu ze statických faktory metod:

  • Title::newFromDBKey( $key )
  • Title::newFromID( ($id, $flags=0) ). Všimněte si, že alternativní metoda, Title::newFromIDs( $ids ), je zastaralá ve prospěch použití PageStore QueryBuilder.
  • Title::newFromText( $text, $defaultNamespace=NS_MAIN )
  • Title::newFromURL( $url ) - Toto není funkce, kterou chcete. Použijte Title::newFromText().
  • Title::makeTitleSafe( $ns, $title, $fragment= '', $interwiki= '') - vytvoří nový Title z indexu jmenného prostoru a klíče DB. Při chybě vrátí hodnotu null.
  • Title::newFromRow( $row )
  • Title::newMainPage() - vytvoří nový Title pro hlavní stránku.

Příklad

Chcete-li zkontrolovat a zjistit, zda daná stránka již existuje:

$titleObject = Title::newFromText( 'Talk:Your desired title here' );
if ( !$titleObject->exists() ) echo "There is no page with that name.";

Vytvořte nový Title z textu, například z toho, co byste našli v odkazu. Dekóduje jakékoli HTML entity v textu. Mezery, předpony a počáteční ':' označující hlavní jmenný prostor jsou přijímány. Všimněte si, že pokud stránka neexistuje, nebude vytvořena. K tomu se podívejte na stránku Manual:Article.php .

Týkající se názvů stránek

  • getDBKey() - získá hlavní část (tj. název bez jmenného prostoru) s podtržítky.
  • getText() - získá textovou formu (mezery, nikoli podtržítka) hlavní části, tj. název bez jmenného prostoru, ale včetně lomítek a všeho po něm. Viz kouzelné slovo {{PAGENAME }}.
  • S předponou jmenný prostor a předpony interwiki, pokud existují:
    • getPrefixedDBkey() - získá formulář s předponou databázového klíče s podtržítky.
    • getPrefixedText() - získá předponu názvu s mezerami. Toto je forma obvykle používaná pro zobrazení. Viz kouzelné slovo {{FULLPAGENAME }}.
      • __toString() - vrátí řetězcovou reprezentaci aktuálního titulu.
    • getFullText() - získá předponu názvu s mezerami a libovolný fragment (část začínající znakem '#').
  • getRootText() - získá text názvu kořenové stránky bez jmenného prostoru, tj. část zcela vlevo před lomítky.
  • getRootTitle() - získá název kořenové stránky, tj. část zcela vlevo před lomítky.
  • getBaseText() - získá základní název stránky, tj. část zcela vlevo bez jmenného prostoru a před lomítky (před názvem podstránky), bez převodu mezer na podtržítka. Viz kouzelná slova {{BASEPAGENAME }} a {{BASEPAGENAMEE }}.
  • getBaseTitle() - získá název základní stránky title, tj. část před názvem podstránky.

Týkající se názvů stránek (kódování URL)

Názvy zakódované v URL, nikoli skutečné adresy URL:

  • getPrefixedUrl() - získá název zakódovaný v URL (nikoli skutečnou adresu URL) včetně interwiki. Viz kouzelné slovo {{FULLPAGENAMEE }}.
  • getPartialURL() - získá URL zakódovanou formu hlavní části. Viz kouzelné slovo {{PAGENAMEE }}.
  • getSubpageUrlForm() - získá formu textu podstránky zakódovanou v URL. Viz kouzelné slovo {{SUBPAGENAMEE }}.

Týkající se adres URL stránek

  • getFullURL() - získá skutečnou adresu URL odkazující na tento titul s odkazem na interwiki a fragmentem.
  • getFullUrlForRedirect()
  • getLocalURL() - získá adresu URL bez názvu fragmentu nebo serveru.
  • getLinkURL()
  • getInternalURL()
  • getCanonicalURL() - získá URL pro kanonický odkaz pro použití ve věcech, jako je IRC a e-mailová upozornění. používá $wgCanonicalServer a háček GetCanonicalURL.
  • getEditURL() - získá adresu URL pro úpravy (s action=edit) pro tyto Title

Kontrola názvů stránek

  • equals() - porovnejte kontrolou, zda jsou předpona jmenného prostoru, text nadpisu a předpona interwiki stejné.
  • isSameLinkAs() - podobný equals(), ale navíc porovnává část fragmentu. Více na stránce LinkTarget::isSameLinkAs() .

Týkající se fragmentů titulků stránky

  • getFragment() - získá fragment Title (tj. bit za #) v textové podobě.
  • hasFragment()
  • getFragmentForURL()
  • setFragment()
  • createFragmentTarget() - vytvoří nový Title pro jiný fragment stejné stránky.

<span id="Relating_to_namespaces ">

Vztahující se ke jmenným prostorům

  • getNamespace() - získá index jmenného prostoru. Viz {{NAMESPACENUMBER }}.
  • getNamespaceKey() - generuje řetězce používané pro xml id jména ve značkách monobook.

Další možnosti naleznete v části NamespaceInfo .

<span id="Relating_to_talk_pages ">

Související s diskusními stránkami

  • getTalkPageIfDefined() - získá objekt Title spojený s diskusní stránkou aktuálního článku, pokud taková diskusní stránka může existovat. Více na stránce {{TALKPAGENAME }} a {{TALKPAGENAMEE }}. getTalkPage() je zastaralé od verze 1.34 (ve prospěch getTalkPageIfDefined).
  • isTalkPage() - zkontroluje aktuální stránku
  • getTalkNsText() - získá text jmenného prostoru diskusní stránky. Viz magické slovo {{TALKSPACE }} a {{TALKSPACEE }}.
  • getSubjectNsText() - získá text jmenného prostoru stránky předmětu (spíše než hovoru). Viz kouzelná slova {{SUBJECTSPACE }} a {{SUBJECTSPACEE }}.
  • getSubjectPage() - používaný k získání objektu title spojeného s předmětovou stránkou této diskusní stránky - je od verze 1.34 zastaralý ve prospěch NamespaceInfo::getSubjectPage . Viz také kouzelné slůvko {{SUBJECTPAGENAME }}.

<span id="Relating_to_categories ">

Týkající se kategorií

  • getParentCategories() - získá kategorie, do kterých patří aktuální Title.
  • getParentCategoryTree() - získá strom nadřazených kategorií.
  • getCategorySortkey() - vrátí nezpracovaný klíč řazení, který se má použít pro kategorie, se zadanou předponou. To bude převedeno na Collation::getSortKey() , aby se získal binární klíč řazení, který lze použít pro skutečné třídění.
  • canUseNoindex() - zda funkce magic words __INDEX__ a __NOINDEX__ pro tuto stránku.

<span id="Relating_to_redirects ">

Týkající se přesměrování

  • isRedirect() - zkontroluje, zda je článek přesměrovací stránkou
  • getRedirectsHere() - získá všechna existující přesměrování na aktuální Title.
  • isValidRedirectTarget() - zkontroluje, zda je aktuální Title platným cílem přesměrování.
  • isSingleRevRedirect() - uzamkne řádek stránky a zkontroluje, zda je tato stránka přesměrována na jednu revizi.

<span id="Relating_to_subpages ">

Týkající se podstránek

  • getSubpage() - získá název podstránky aktuální stránky.
  • getSubpageText() - získá název podstránky nejnižší úrovně, tj. část úplně vpravo za lomítky. Viz kouzelné slovo {{SUBPAGENAME }}.
  • hasSubpages() - zkontroluje, zda aktuální stránka obsahuje podstránky.
  • getSubpages() - získá všechny podstránky této stránky.
  • isSubpageOf() - zkontroluje, zda aktuální titul není podstránkou jiného titulu.
  • Související stránky: getSubpageUrlForm().

Týkající se příchozích a odchozích odkazů

Zacházet opatrně:

  • getLinksTo
  • getTemplateLinksTo()
  • getLinksFrom()
  • getTemplateLinksFrom()
  • getBrokenLinksFrom()

Týkající se jazyka stránky

  • getPageLanguage() - získá jazyk, ve kterém je obsah této stránky napsán ve wikitextu. Výchozí jazyk obsahu, ale v určitých případech to může být např. $wgLang (například speciální stránky, které jsou v uživatelském jazyce).
  • getPageViewLanguage() - získá jazyk, ve kterém je napsán obsah této stránky při prohlížení uživatelem. Výchozí jazyk obsahu, ale v určitých případech to může být např. $wgLang (například speciální stránky, které jsou v uživatelském jazyce). Bude ukončena na 1.42 ve prospěch ParserOutput::getLanguage a viz také OutputPage::getContLangForJS .

<span id="Relating_to_page_revisions ,_etc.">

Týkající se revizí stránky atd.

  • exists() - zkontroluje, zda stránka existuje
  • isNewPage() - zkontroluje, zda je aktuální stránka nová.
  • purgeExpiredRestrictions()
  • estimateRevisionCount() - získá přibližný počet revizí aktuální stránky.
  • getDeletedEditsCount - počítá archivované revize.
  • hasDeletedEdits() - zkontroluje, zda je v archivu odstranění verze aktuální stránky.
  • getEditNotices() - získá seznam vykreslených oznámení o úpravách pro tuto stránku.

Týkající se page_touched/timestamps :

  • invalidateCache() - aktualizace page_touched pro aktuální stránku. Volá se od LinksUpdate.php .
  • touchLinks() - aktualizuje časová razítka page_touched a odešlete zprávy o vyčištění CDN pro stránky odkazující na tento titul. Může být odeslán do fronty úloh v závislosti na počtu odkazů. Obvykle se nazývá vytvoření a odstranění.
  • getTouched() - získá nejnovější dotykové časové razítko

Týkající se viditelnosti

  • isAlwaysKnown() - částečně zastaralé pro veřejné použití
  • isKnown() - zkontroluje, zda aktuální Title odkazuje na stránku, která může (nebo by mohla) být smysluplně zobrazena?
  • hasSourceText() - zkontroluje, zda aktuální stránka obsahuje zdrojový text.
  • getDefaultMessageText() - získá výchozí (prostý) obsah zprávy pro stránku, která přepíše klíč zprávy rozhraní.

Mezipaměť odkazů, ID stránek atd.

  • getArticleID() - získá ID článku pro tento Title z mezipaměti odkazů a v případě potřeby jej přidejte. U "interních" článků by měl vrátit pole "page_id", pokud článek existuje, jinak vrátí 0. Pro všechny externí články vrací 0. Všechna ID pro všechny instance Title vytvořené během požadavku jsou uložena v mezipaměti, takže je lze rychle vyhledat při vykreslování wikitextu se spoustou interních odkazů.
  • resetArticleID() - vloží ID stránky, resetuje pole načtená DB a vymaže mezipaměť odkazů pro aktuální Title.
  • clearCaches() - vymaže mezipaměť odkazů i mezipaměť Title.
  • getLatestRevID() - získá pole page_latest.
  • getLength() - získá délku stránky.
  • pageCond() - získá asociativní pole pro výběr aktuálního názvu z tabulky page .
  • getWikiId()
  • getId() - získá ID stránky.
  • toPageIdentity() - vrátí stránku reprezentovanou aktuálním Title jako ProperPageIdentity .
  • toPageRecord() - vrátí stránku reprezentovanou aktuálním Title jako ProperPageRecord .

Použití objektu Title

Aby bylo možné vytvářet objekty nebo přistupovat k datům, závisí mnoho metod v jiných třídách PHP MediaWiki na dostupnosti objektu Title.

Například, pokud máte objekt Title, můžete získat:

  • Article objekt s použitím Article::newFromTitle ( $title, IContextSource $context )
  • WikiPage objekt s použitím WikiPage::factory ( Title $title )

Tato třída může načítat různé druhy dat z databáze. Činí tak však neefektivně. Zvažte místo toho použití objektu TitleValue . TitleValue je lehčí a nespoléhá na globální stav nebo databázi.

Související odkazy

Poznámky pod čarou

  1. Mutable je klíčové slovo normy, které říká, že i objekt const může tuto proměnnou modifikovat. Proměnlivý atribut může být soukromý nebo veřejný. Může být vždy upraven, i když je objekt v konstantním kontextu.
  2. Mutator je obecný název členské funkce, která může zvenčí upravovat jednu nebo více soukromých proměnných objektu. Je zbytečné to nastavovat jako soukromé.