Manual:Title.php/cs

Třída  softwaru MediaWiki implementuje rozhraní  a IDBAccessObject. Představuje názvy článků, které se používají k mnoha účelům, včetně:


 * jako lidsky čitelný textový název článku
 * v adrese URL použité pro přístup k článku
 * wikitextový odkaz na článek
 * klíč do databáze článků

Třída je vytvořena pomocí jednoho z těchto formátů. Po vytvoření instance lze titul získat v jiných formátech nebo se lze dotázat na jeho atributy. je zamýšlen jako neměnná třída "hodnoty", takže neexistují žádné mutátorové funkce.

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


 * - Toto není funkce, kterou chcete. Použijte Title::newFromText.
 * - vrátí pole titulků
 * - vytvoří nový titul z indexu jmenného prostoru a klíče DB. Při chybě vrátí hodnotu null.
 * - Toto není funkce, kterou chcete. Použijte Title::newFromText.
 * - vrátí pole titulků
 * - vytvoří nový titul z indexu jmenného prostoru a klíče DB. Při chybě vrátí hodnotu null.
 * - vytvoří nový titul z indexu jmenného prostoru a klíče DB. Při chybě vrátí hodnotu null.

Po vytvoření instance lze použít jiné nestatické metody přístupového objektu, například,  ,   atd.

Pokud máte objekt Title, můžete získat:


 * objekt s použitím
 * objekt s použitím

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 je lehčí a nespoléhá na globální stav nebo databázi.



Struktura názvu
Název se skládá z volitelné předpony Interwiki (například " " pro stránky z mediawiki.org nebo " " pro články Wikipedie), za kterou následuje volitelný jmenný prostor (například " "), za kterým následuje název stránky.



Předpony a jmenné prostory Interwiki
Předpony a jmenné prostory Interwiki se řídí stejnými pravidly obsahu:


 * musí začínat písmenem
 * musí končit dvojtečkou
 * mohou obsahovat pouze číslice, písmena, mezeru a podtržítko
 * mezery a podtržítka lze používat zaměnitelně
 * nerozlišují malá a velká písmena

Předpony a jmenné prostory Interwiki jsou rozpoznány pouze v případě, že je zná daná instalace MediaWiki, buď ve výchozím nastavení nebo prostřednictvím konfigurace.

Například: Na této wiki je " " odkazem na článek " " na Wikipedii, protože " " je rozpoznána jako jedna z povolených interwiki předpon. Název " " je odkaz na článek "name" ve jmenném prostoru " " aktuální wiki, protože " " je uznávaný jmenný prostor. Mohou být přítomny oba a pokud ano, interwiki musí být na prvním místě, například " ".

Pokud název začíná dvojtečkou jako prvním znakem, nehledají se žádné předpony a dvojtečka se před zpracováním názvu odstraní. Díky tomuto pravidlu je možné mít články s dvojtečkami v názvu. " " je platný název, stejně jako "Commandos: Behind Enemy Lines", protože " " a " " nejsou platné interwiki nebo jmenné prostory.



Název článku
V názvu článku jsou mezery a podtržítka považovány za ekvivalentní a každá je převedena na druhou v příslušném kontextu (podtržítko v URL a klíčích databáze, mezery v prostém textu). "Rozšířené" znaky v rozsahu 0x80..0xFF jsou povoleny na všech místech a jsou platnými znaky. Jsou zakódovány v URL. Rozšířené znaky jsou not urlencoded při použití jako text nebo databázové klíče. Dalšími znaky mohou být písmena ASCII, číslice, pomlčka, čárka, tečka, apostrof, závorky a dvojtečka. Žádné další znaky ASCII nejsou povoleny a budou smazány, pokud budou nalezeny (pravděpodobně způsobí, že prohlížeč nesprávně interpretuje adresu URL).



Kanonické formy
Kánonická forma názvu bude vždy vrácena objektem. Kanonizace zahrnuje následující:


 * Některé směrové znaky Unicode (značka zleva doprava atd.) jsou odstraněny, protože to obvykle vyplývá z chybného kopírování a vkládání.
 * Vše od  dále je odstraněno, protože se to používá pro odkazy na sekce.
 * Sekvence podtržítek a/nebo určitých bílých znaků jsou sbaleny do jediného podtržítka (pro formuláře URL a DBkey) nebo do jediné mezery (pro textový formulář). Na začátku nebo na konci názvu (nebo jmenného prostoru nebo předpony interwiki) jsou tyto odstraněny.
 * Rozpoznané předpony interwiki jsou kanonizovány, což znamená, že jsou vkládány výhradně malými písmeny.
 * Rozpoznané názvy jmenných prostorů jsou kanonizovány, což znamená, že první znak je velký a další znaky jsou malé. (To se však nedělá u interwiki-odkazů.)
 * V závislosti na wiki a jmenném prostoru může být první znak názvu velký. (To se však nedělá u interwiki-odkazů.)
 * U odkazů na uživatelské stránky anonymních uživatelů je IP adresa kanonizována.
 * Proces kanonizace také zahrnuje určitou logiku ověření k odmítnutí různých druhů neplatných názvů (jako jsou ty, které jsou příliš dlouhé nebo které obsahují nepovolené znaky).



Diagramy pro třídu MediaWikiTitleCodec
Kodek pro názvy stránek MediaWiki: &#x5B;code link&#x5D;

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

Vytvořte nový nadpis 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.

Funkce
Mnoho z těchto funkcí používá ke generování kouzelných slov.

getArticleID
Získá ID článku pro tento titul z mezipaměti odkazů a v případě potřeby jej přidejte.

U "interních" článků by měl vrátit pole "id_stránky", pokud článek existuje, jinak vrátí 0.

Pro všechny externí články vrací 0. Všechna ID pro všechny instance titulu 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ů.

getBaseText
Získá základní název stránky, tj. část zcela vlevo bez jmenného prostoru a před lomítky, bez převodu mezer na podtržítka. Viz kouzelná slova a.

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.

getDBKey
Získá hlavní část (tj. název bez jmenného prostoru) s podtržítky.

getPrefixedDBKey
Získá formulář s předponou databázového klíče s podtržítky.

getFragment
Získá fragment názvu (tj. bit za #) v textové podobě.

getFullText
Získá předponu názvu s mezerami a libovolný fragment (část začínající znakem '#').

getPartialURL
Získá URL zakódovanou formu hlavní části. Viz kouzelné slovo.

getFullURL
Získá skutečnou adresu URL odkazující na tento titul s odkazem na interwiki a fragmentem.

getLocalURL
Získá adresu URL bez názvu fragmentu nebo serveru.

getPrefixedText
Získá předponu názvu s mezerami. Toto je forma obvykle používaná pro zobrazení. Viz kouzelné slovo.

getPrefixedUrl
Získá název zakódovaný v URL (nikoli skutečnou adresu URL) včetně interwiki. Viz kouzelné slovo.

getSubjectNsText
Získá text jmenného prostoru stránky předmětu (spíše než hovoru). Viz kouzelná slova a.

getSubjectPage
Získá objekt title spojený s předmětovou stránkou této diskusní stránky. Viz kouzelné slovo.

getSubpageText
Získá název podstránky nejnižší úrovně, tj. část úplně vpravo za lomítky. Viz kouzelné slovo.

getSubpageUrlForm
Získá formu textu podstránky zakódovanou v URL. Viz kouzelné slovo.

getTalkNsText
Získá text jmenného prostoru diskusní stránky. Viz magické slovo a.

getTalkPage
Získá objekt Title spojený s diskusní stránkou tohoto článku. Viz a.

getNamespace
Získá index jmenného prostoru. Viz.

