Podręcznik:Title.php
Plik MediaWiki: Title.php | |
---|---|
Lokalizacja: | includes/title/ |
Kod źródłowy: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Klasy: | MediaWiki\Title\Title |
Before 1.40:
Plik MediaWiki: Title.php | |
---|---|
Lokalizacja: | includes/ |
Kod źródłowy: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Klasy: | Title |
The Title
class represents page titles.
Title
wdraża następujące interfejsy: LinkTarget , PageIdentity- Można go wykorzystać w jednej z poniższych metod fabrycznych.
- Po tym jak tytuł zostanie wprowadzony w instancji, można go odzyskać w innych formatach lub zapytać o jego atrybuty. Do tego dostępne są różne metody niestatycznego akcesoria, takie jak
getText()
,getDBKey()
,getNamespace()
, itp. Wiele z nich jest używanych przez Podręcznik:CoreParserFunctions.php do generowania magicznych słów. - Jest to klasy "wartości" niezmiennego, więc nie ma funkcji mutacyjnych.[1][2]
Retrieval
Methods for accessing an instance of Title include :
Metody publiczne
Metody instancji
Aby wkrótce wyliczyć Title
wezwij jedną z metod statycznych fabryki:
Title::newFromDBKey( $key )
Title::newFromID( ($id, $flags=0) )
. Zauważ, że alternatywna metoda,Title::newFromIDs( $ids )
, jest przestarzała w korzyści z użycia QueryBuilder PageStore .Title::newFromText( $text, $defaultNamespace=NS_MAIN )
Title::newFromURL( $url )
- To nie jest funkcja, której chcesz. Użyj Title::newFromText().Title::makeTitleSafe( $ns, $title, $fragment= '', $interwiki= '')
- Tworzyć nowy Title z indeksy przestrzeni nazw i klucza DB. Wraca null na błędy.Title::newFromRow( $row )
Title::newMainPage()
- utworzyć nową Title na Stronę główną.
Przykład
Sprawdzić, czy dana strona istnieje:
$titleObject = Title::newFromText( 'Talk:Your desired title here' );
if ( !$titleObject->exists() ) echo "There is no page with that name.";
Tworzyć nową Title z tekstu, np. to, co można znaleźć w linku. Dekoduje wszelkie podmioty HTML w tekście. Przyjmuje się przestrzenie, prefiksy oraz inicjał ':' wskazujący główną przestrzeń nazwisk. Należy pamiętać, że jeśli strona nie istnieje, to nie zostanie utworzona. W tym celu zobacz Podręcznik:Article.php .
Odnoszące się do tytułów stron
- getDBKey() - uzyskać główny element (tj. tytuł z wyłączeniem przestrzeni nazw) z podkreśleniami.
- getText() - uzyskać formularz tekstu (przestrzeni nie podkreśla) części głównej, tj. tytuł z wyłączeniem przestrzeni nazw, ale zawierając odcinki i wszystko po. Zobacz magiczne słowo {{PAGENAME }}.
- W przypadku gdy istnieją, prefiksy z przestrzeni nazw i prefiksy międzywiki:
- getPrefixedDBkey() - zróbcie to, aby uzyskać zapisywane formularze klucza bazy danych z podkreśleniami.
- getPrefixedText() - zróbcie to, aby uzyskać tytuł z przestrzeniami. To jest zwykle używany do wyświetlania formularz. Zobacz magiczne słowo {{FULLPAGENAME }}.
- __toString() - zwrócą wiersz przedstawienie bieżącego tytułu.
- getFullText() - uzyskać tytuł wstępny z przestrzeniami, a także dowolny fragment (tj. część zaczynająca się od '#').
- getRootText() - uzyskać tekst nazwy strony korzeni bez przestrzeni nazw, tj. najlewszą część przed wszelkimi wycięciami.
- getRootTitle() - zdobądź tytuł nazwy strony, czyli najlewszą część przed wycięciem.
- getBaseText() - uzyskać nazwę strony bazowej, tj. najlewszą część z wyłączeniem przestrzeni nazw i przed wszelkimi odcinkami (przed nazwą podstrony), bez przekształcenia przestrzeni w podkreślone. Zobacz magiczne słowa {{BASEPAGENAME }} i {{BASEPAGENAMEE }}.
- getBaseTitle() - uzyskać tytuł nazwy strony bazowej, tj. część przed nazwą podstrony.
Odnoszące się do tytułów stron (zakodowane URL)
Tytuły z kodami URL, nie rzeczywiste adresy URL:
- getPrefixedUrl() - uzyskać tytuł z kodem URL, w tym interwiki. Zobacz magiczne słowo {{FULLPAGENAMEE }}.
- getPartialURL() - uzyskaj zakodowaną postać URL głównej części. Zobacz magiczne słowo {{PAGENAMEE }}.
- getSubpageUrlForm() - uzyskaj kod URL formularza tekstu podstron. Zobacz magiczne słowo {{SUBPAGENAMEE }}.
Odnoszące się do tytułów URL
- getFullURL() - Zdobądź prawdziwy adres URL odnoszący się do tego tytułu, z linkiem interwiki i fragmentem.
- getFullUrlForRedirect()
- getLocalURL() - uzyskać adres URL bez fragmentu lub nazwy serwera.
- getLinkURL()
- getInternalURL()
- getCanonicalURL() - uzyskać adres URL dla kanonicznego linku, do użycia w takich sprawach jak IRC i e-mail. Używa haków $wgCanonicalServer i GetCanonicalURL.
- getEditURL() - zbierz adres URL edycji (z action=edit) /za te Title
Sprawdzanie tytułów stron
- equals() - porównanie sprawdząc, czy prefiks przestrzeni nazw, tekst tytułu i prefiks międzywiki są takie same.
- isSameLinkAs() - podobny do equals(), ale dodatkowo porówna fragmenty. Zobacz też LinkTarget::isSameLinkAs()
Odnoszące się do fragmentów tytułu strony
- getFragment() - uzyskać fragment Title (tj. bit po #) w formie tekstu.
- hasFragment()
- getFragmentForURL()
- setFragment()
- createFragmentTarget() - creates a new Title for a different fragment of the same page.
Odnoszące się do przestrzeń nazw
- getNamespace() - zrób indeks przestrzeni nazw. {{NAMESPACENUMBER }}.
- getNamespaceKey() - generować łańcuchy używane do nazw xml
id
w tagach monobooku. - getNsText() - zdobądź tekst przestrzeni nazwisk strony. Zobacz magiczne słowa {{NAMESPACE }} i {{NAMESPACEE }}.
W przypadku innych opcji, zamiast NamespaceInfo zobacz.
Odniesienia do stron dyskusji
- getTalkPageIfDefined() - uzyskać obiekt Title powiązany z stroną rozmowy bieżącego artykułu, jeśli taka strona rozmowy istnieje. Zobacz {{TALKPAGENAME }} i {{TALKPAGENAMEE }}. getTalkPage() jest przedawkowany od 1.34 (w korzyść getTalkPageIfDefined).
- isTalkPage() - sprawdź bieżąca strona
- getTalkNsText() - uzyskać tekst przestrzeni nazw na stronie rozmowy. Zobacz magiczne słowa {{TALKSPACE }} i {{TALKSPACEE }}.
- getSubjectNsText() - uzyskać tekst przestrzeni nazw tej strony (zamiast rozmowy). Zobacz magiczne słowa {{SUBJECTSPACE }} i {{SUBJECTSPACEE }}.
- getSubjectPage() - używany do uzyskania obiektu tytułowego związanego z stroną tematyczną tej strony rozmowy - jest przestarzały od 1.34 na korzyść NamespaceInfo::getSubjectPage . Zobacz również magiczne słowo {{SUBJECTPAGENAME }}.
Odnosi się do kategorii
- getParentCategories() - uzyskać kategorie, do których należał bieżący Title.
- getParentCategoryTree() - zróbcie drzewo kategorii rodziców.
- getCategorySortkey() - zwraca klucz sortowania surowego do użycia w kategoriach, z określonym prefiksem. To zostanie poddane do Collation::getSortKey() aby uzyskać klucz do sortowania binarnego, który może być używany do rzeczywistego sortowania.
- canUseNoindex() - czy magic words __INDEX__ i __NOINDEX__ funkcje dla tej strony.
Odnosi się do przekierowań
- isRedirect() - sprawdź, czy artykuł jest stroną przekierowania
- getRedirectsHere() - zbierz wszystkie istniejące przekierowania do bieżącego Title.
- isValidRedirectTarget() - sprawdź, czy bieżący Title jest ważnym celem przekierowania.
- isSingleRevRedirect() - zamyka wiersz strony i sprawdza, czy ta strona jest przeprowadzeniem pojedynczej rewizji.
Odnoszące się do podstron
- getSubpage() - uzyskać tytuł podstrony bieżącej strony.
- getSubpageText() - uzyskać nazwa podstrony na najniższym poziomie, czyli najprawniejszą część po każdej usunięciu. Zobacz magiczne słowo {{SUBPAGENAME }}.
- hasSubpages() - sprawdź, czy obecna strona ma podstrony.
- getSubpages() - zdobądź wszystkie podstrony tej strony.
- isSubpageOf() - sprawdź, czy bieżący tytuł jest podstroną innego tytułu.
- Zobacz też: getSubpageUrlForm().
Odnoszące się do linków przychodzących i wychodzących
Uważaj na siebie:
- getLinksTo
- getTemplateLinksTo()
- getLinksFrom()
- getTemplateLinksFrom()
- getBrokenLinksFrom()
Odnoszące się do języka strony
- getPageLanguage() - uzyskać język, w którym treść tej strony jest napisana w wikitexcie. Domyślne język treści, ale w niektórych przypadkach może to być np. $wgLang (np. strony specjalne, które znajdują się w języku użytkownika).
- getPageViewLanguage() - uzyskać język, w którym jest napisane treść tej strony, gdy użytkownik ją ogląda. Domyślne język treści, ale w niektórych przypadkach może to być np. $wgLang (np. strony specjalne, które znajdują się w języku użytkownika). Zastąpi się w 1,42 na korzyść ParserOutput::getLanguage i zobacz również OutputPage::getContLangForJS .
Odnoszące się do poprawek strony , itp.
- exists() - sprawdź, czy istnieje strona
- isNewPage() - sprawdź, czy bieżąca strona jest nowa.
- purgeExpiredRestrictions()
- estimateRevisionCount() - uzyskać przybliżoną liczbę przeglądów bieżącej strony.
- getDeletedEditsCount - licz archiwizowane przeglądy.
- hasDeletedEdits() - sprawdź, czy w archiwum usuwania znajduje się wersja bieżącej strony.
- getEditNotices() - uzyskać listę wyświetlonych komunikatów edycji na tej stronie.
W odniesieniu do page_touched
/timestamps :
- invalidateCache() - aktualizacje
page_touched
dla bieżącej strony. Jest wzywany z LinksUpdate.php . - touchLinks() - aktualizuj timestampy
page_touched
i wysyłaj wiadomości o wyczyszczeniu CDN na strony łączące się z tym tytułem. Może być wysłana do kolejki pracy w zależności od liczby linków. Zazwyczaj wzywa się do tworzenia i usunięcia. - getTouched() - zbieraj najnowszy dotykany codzienny znak
Odnoszące się do widoczności
- isAlwaysKnown() - półdeprecyzowane do użytku publicznego
- isKnown() - sprawdzić, czy aktualny Title odnosi się do strony, która może (lub może) być znacząco przeglądana?
- hasSourceText() - sprawdź, czy obecna strona zawiera tekst źródłowy.
- getDefaultMessageText() - Uzyskaj domyślne (proste) treści wiadomości dla strony, która przeniesie klucz wiadomości interfejsu.
Pamięć podręczna linków, identyfikatory stron itp.
- getArticleID() - zbierz artykuł ID dla tego Title z pamięci podręcznej linków, dodając go w razie potrzeby. W przypadku artykułów "wnętrza", powinien zwrócić pole "page_id", jeśli artykuł istnieje, w przeciwnym razie zwróci 0. Dla wszystkich artykułów zewnętrznych oddaje 0. Wszystkie identyfikatory wszystkich przypadków Title utworzonych podczas żądania są przechowywane w pamięci podręcznej, dzięki czemu można je szybko wyszukiwać podczas renderingu wikitext z wieloma wewnętrznymi linkami.
- resetArticleID() - wstrzyknąć identyfikator strony, ustawić pola obciążone DB i usunąć pamięć cache linku dla bieżącej Title.
- clearCaches() - czysty link cache, a także Title cache.
- getLatestRevID() - uzyskać pole
page_latest
. - getLength() - uzyskać długość strony.
- pageCond() - uzyskać zestaw stowarzyszenia do wyboru bieżącego tytułu z tabeli page
- getWikiId()
- getId() - uzyskać identyfikator strony.
- toPageIdentity() - zwróć stronę reprezentowaną obecnym Title jako ProperPageIdentity .
- toPageRecord() - zwróć stronę reprezentowaną obecnym Title jako ProperPageRecord .
Użycie obiektu Title
Aby tworzyć obiekty lub uzyskać dostęp do danych, wiele metod w innych klasach MediaWiki PHP zależy od dostępności obiektu Title.
Na przykład, jeśli masz obiekt Title możesz uzyskać:
- Article obiekt, używając
Article::newFromTitle ( $title, IContextSource $context )
- WikiPage obiekt, używając WikiPageFactory
Ta klasa może pozyskać różne rodzaje danych z bazy danych, ale robi to nieefektywnie. Rozważ użycie obiektu TitleValue zamiast tego. TitleValue jest lekki i nie zależy od stanu globalnego ani bazy danych.
Zobacz też
- Manual:$wgLegalTitleChars
- Manual:TitleValue.php
- BacklinkCacheFactory::getBacklinkCache()
- Manual:Modeling pages
- Help:Bad title
- Category:MediaWiki hooks included in Title.php
Przypisy
- ↑ Zmienny jest kluczowym słowem normy, mówiącym, że nawet obiekt const może modyfikować tę zmienną. Atrybut zmienny może być prywatny lub publiczny. Zawsze można go modyfikować nawet wtedy, gdy obiekt znajduje się w stałym kontekście.
- ↑ Mutator to ogólna nazwa funkcji członkowskiej, która może modyfikować jedną lub więcej zmiennych prywatnych obiektu z zewnątrz. Nie ma sensu, żeby to było prywatne.