MediaWiki REL1_37
|
A codec for MediaWiki page titles. More...
Public Member Functions | |
__construct (Language $language, GenderCache $genderCache, $localInterwikis, InterwikiLookup $interwikiLookup, NamespaceInfo $nsInfo) | |
formatTitle ( $namespace, $text, $fragment='', $interwiki='') | |
getFullText ( $title) | |
getNamespaceName ( $namespace, $text) | |
getPrefixedDBkey ( $target) | |
getPrefixedText ( $title) | |
getText ( $title) | |
makeTitleValueSafe ( $namespace, $text, $fragment='', $interwiki='') | |
Given a namespace and title, return a TitleValue if valid, or null if invalid. | |
overrideCreateMalformedTitleExceptionCallback (callable $callback) | |
parseTitle ( $text, $defaultNamespace=NS_MAIN) | |
Parses the given text and constructs a TitleValue. | |
splitTitleString ( $text, $defaultNamespace=NS_MAIN) | |
Validates, normalizes and splits a title string. | |
Static Public Member Functions | |
static | getTitleInvalidRegex () |
Returns a simple regex that will match on characters and sequences invalid in titles. | |
Protected Attributes | |
GenderCache | $genderCache |
InterwikiLookup | $interwikiLookup |
Language | $language |
string[] | $localInterwikis |
NamespaceInfo | $nsInfo |
Private Attributes | |
callable | $createMalformedTitleException |
The code here can throw MalformedTitleException, which cannot be created in unit tests (see T281935). | |
A codec for MediaWiki page titles.
Definition at line 39 of file MediaWikiTitleCodec.php.
MediaWikiTitleCodec::__construct | ( | Language | $language, |
GenderCache | $genderCache, | ||
$localInterwikis, | |||
InterwikiLookup | $interwikiLookup, | ||
NamespaceInfo | $nsInfo | ||
) |
Language | $language | The language object to use for localizing namespace names, capitalization, etc. |
GenderCache | $genderCache | The gender cache for generating gendered namespace names |
string[] | string | $localInterwikis | |
InterwikiLookup | $interwikiLookup | |
NamespaceInfo | $nsInfo |
Definition at line 72 of file MediaWikiTitleCodec.php.
MediaWikiTitleCodec::formatTitle | ( | $namespace, | |
$text, | |||
$fragment = '' , |
|||
$interwiki = '' |
|||
) |
int | bool | $namespace | The namespace ID (or false, if the namespace should be ignored) |
string | $text | The page title. Should be valid. Only minimal normalization is applied. Underscores will be replaced. |
string | $fragment | The fragment name (may be empty). |
string | $interwiki | The interwiki name (may be empty). |
InvalidArgumentException | If the namespace is invalid |
Implements TitleFormatter.
Definition at line 148 of file MediaWikiTitleCodec.php.
References getNamespaceName(), and NS_SPECIAL.
Referenced by getFullText(), getPrefixedDBkey(), and getPrefixedText().
MediaWikiTitleCodec::getFullText | ( | $title | ) |
LinkTarget | PageReference | $title |
Implements TitleFormatter.
Definition at line 314 of file MediaWikiTitleCodec.php.
References $title, and formatTitle().
MediaWikiTitleCodec::getNamespaceName | ( | $namespace, | |
$text | |||
) |
int | $namespace | |
string | $text |
InvalidArgumentException | If the namespace is invalid |
Implements TitleFormatter.
Definition at line 118 of file MediaWikiTitleCodec.php.
Referenced by formatTitle().
MediaWikiTitleCodec::getPrefixedDBkey | ( | $target | ) |
LinkTarget | PageReference | $target |
Implements TitleFormatter.
Definition at line 288 of file MediaWikiTitleCodec.php.
References formatTitle().
MediaWikiTitleCodec::getPrefixedText | ( | $title | ) |
LinkTarget | PageReference | $title |
Implements TitleFormatter.
Definition at line 260 of file MediaWikiTitleCodec.php.
References $title, and formatTitle().
MediaWikiTitleCodec::getText | ( | $title | ) |
LinkTarget | PageReference | $title |
Implements TitleFormatter.
Definition at line 242 of file MediaWikiTitleCodec.php.
References $title.
|
static |
Returns a simple regex that will match on characters and sequences invalid in titles.
Note that this doesn't pick up many things that could be wrong with titles, but that replacing this regex with something valid will make many titles valid. Previously Title::getTitleInvalidRegex()
Definition at line 596 of file MediaWikiTitleCodec.php.
Referenced by MediaWiki\Languages\LanguageNameUtils\isValidCode().
MediaWikiTitleCodec::makeTitleValueSafe | ( | $namespace, | |
$text, | |||
$fragment = '' , |
|||
$interwiki = '' |
|||
) |
Given a namespace and title, return a TitleValue if valid, or null if invalid.
int | $namespace | |
string | $text | |
string | $fragment | |
string | $interwiki |
Implements TitleParser.
Definition at line 211 of file MediaWikiTitleCodec.php.
References splitTitleString().
MediaWikiTitleCodec::overrideCreateMalformedTitleExceptionCallback | ( | callable | $callback | ) |
callable | $callback |
Definition at line 100 of file MediaWikiTitleCodec.php.
MediaWikiTitleCodec::parseTitle | ( | $text, | |
$defaultNamespace = NS_MAIN |
|||
) |
Parses the given text and constructs a TitleValue.
string | $text | The text to parse |
int | $defaultNamespace | Namespace to assume per default (usually NS_MAIN) |
MalformedTitleException |
Implements TitleParser.
Definition at line 184 of file MediaWikiTitleCodec.php.
References splitTitleString().
MediaWikiTitleCodec::splitTitleString | ( | $text, | |
$defaultNamespace = NS_MAIN |
|||
) |
Validates, normalizes and splits a title string.
This is the "source of truth" for title validity.
This function removes illegal characters, splits off the interwiki and namespace prefixes, sets the other forms, and canonicalizes everything.
string | $text | |
int | $defaultNamespace |
MalformedTitleException | If $text is not a valid title string. |
Definition at line 354 of file MediaWikiTitleCodec.php.
References $matches, NS_MAIN, NS_SPECIAL, NS_TALK, NS_USER, NS_USER_TALK, and Message\numParam().
Referenced by makeTitleValueSafe(), and parseTitle().
|
private |
The code here can throw MalformedTitleException, which cannot be created in unit tests (see T281935).
Until that changes, we use this helper callback that can be overridden in unit tests to return a mock instead.
Definition at line 62 of file MediaWikiTitleCodec.php.
|
protected |
Definition at line 44 of file MediaWikiTitleCodec.php.
|
protected |
Definition at line 50 of file MediaWikiTitleCodec.php.
|
protected |
Definition at line 41 of file MediaWikiTitleCodec.php.
|
protected |
Definition at line 47 of file MediaWikiTitleCodec.php.
|
protected |
Definition at line 53 of file MediaWikiTitleCodec.php.