Příručka:Title.php
Soubor MediaWiki: Title.php | |
---|---|
Lokalita: | includes/title/ |
Zdrojový kód: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Třídy: | MediaWiki\Title\Title |
Before 1.40:
Soubor MediaWiki: Title.php | |
---|---|
Lokalita: | includes/ |
Zdrojový kód: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Třídy: | Title |
Třída Title
představuje názvy stránek.
Title
implementuje následující rozhraní: LinkTarget , PageIdentity- 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]
Vyhledávání
Metody pro přístup k instanci Title zahrnují :
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.
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. - getNsText() - získat text jmenného prostoru stránky. Viz kouzelná slova {{NAMESPACE }} a {{NAMESPACEE }}.
Další možnosti naleznete v části NamespaceInfo .
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 }}.
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.
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.
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 .
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 WikiPageFactory
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
- Příručka:$wgLegalTitleChars
- Manual:TitleValue.php
- BacklinkCacheFactory::getBacklinkCache()
- Manual:Modeling pages
- Help:Bad title
- Category:MediaWiki hooks included in Title.php
Poznámky pod čarou
- ↑ 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.
- ↑ 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é.