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ískejte 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. All of the IDs for all instances of Title created during a request are cached, so they can be looked up quickly while rendering wikitext with lots of internal links.

getBaseText
Get the base page name, i.e. the leftmost part excluding namespace and before any slashes, without converting spaces to underscores. See magic words and.

getText
Gets the text form (spaces not underscores) of the main part, i.e. the title excluding namespace, but including slashes and everything after. See magic word.

getDBKey
Get the main part (i.e. the title excluding namespace) with underscores.

getPrefixedDBKey
Get the prefixed database key form with underscores.

getFragment
Get the Title fragment (i.e. the bit after the #) in text form.

getFullText
Get the prefixed title with spaces, plus any fragment (part beginning with '#').

getPartialURL
Get the URL-encoded form of the main part. See magic word.

getFullURL
Get a real URL referring to this title, with interwiki link and fragment.

getLocalURL
Get a URL with no fragment or server name.

getPrefixedText
Get the prefixed title with spaces. This is the form usually used for display. See magic word.

getPrefixedUrl
Get a URL-encoded title (not an actual URL) including interwiki. See magic word.

getSubjectNsText
Get the namespace text of the subject (rather than talk) page. See magic words and.

getSubjectPage
Get a title object associated with the subject page of this talk page. See magic word.

getSubpageText
Get the lowest-level subpage name, i.e. the rightmost part after any slashes. See magic word.

getSubpageUrlForm
Get a URL-encoded form of the subpage text. See magic word.

getTalkNsText
Get the namespace text of the talk page. See magic word and.

getTalkPage
Get a Title object associated with the talk page of this article. See and.

getNamespace
Get the namespace index. See.