MediaWiki  master
TitleValue Class Reference

Represents a page (or page fragment) title within MediaWiki. More...

Inheritance diagram for TitleValue:
Collaboration diagram for TitleValue:

Public Member Functions

 __construct ( $namespace, $dbkey, $fragment='', $interwiki='')
 Constructs a TitleValue. More...
 
 __toString ()
 Returns a string representation of the title, for logging. More...
 
 createFragmentTarget ( $fragment)
 Creates a new TitleValue for a different fragment of the same page. More...
 
 getDBkey ()
 Returns the title's DB key, as supplied to the constructor, without namespace prefix or fragment. More...
 
 getFragment ()
 
 getInterwiki ()
 Returns the interwiki part. More...
 
 getNamespace ()
 
 getText ()
 Returns the title in text form, without namespace prefix or fragment. More...
 
 hasFragment ()
 
 inNamespace ( $ns)
 
 isExternal ()
 Whether it has an interwiki part. More...
 

Public Attributes

string $prefixedText = null
 Text form including namespace/interwiki, initialised on demand. More...
 

Protected Attributes

string $dbkey
 
string $fragment
 
string $interwiki
 
int $namespace
 

Detailed Description

Represents a page (or page fragment) title within MediaWiki.

Note
In contrast to Title, this is designed to be a plain value object. That is, it is immutable, does not use global state, and causes no side effects.
See also
https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
Since
1.23

Definition at line 36 of file TitleValue.php.

Constructor & Destructor Documentation

◆ __construct()

TitleValue::__construct (   $namespace,
  $dbkey,
  $fragment = '',
  $interwiki = '' 
)

Constructs a TitleValue.

Note
TitleValue expects a valid DB key; typically, a TitleValue is constructed either from a database entry, or by a TitleParser. We could apply "some" normalization here, such as substituting spaces by underscores, but that would encourage the use of un-normalized text when constructing TitleValues. For constructing a TitleValue from user input or external sources, use a TitleParser.
Parameters
int$namespaceThe namespace ID. This is not validated.
string$dbkeyThe page title in valid DBkey form. No normalization is applied.
string$fragmentThe fragment title. Use '' to represent the whole page. No validation or normalization is applied.
string$interwikiThe interwiki component
Exceptions
InvalidArgumentException

Definition at line 89 of file TitleValue.php.

References $dbkey, $fragment, and $interwiki.

Member Function Documentation

◆ __toString()

TitleValue::__toString ( )

Returns a string representation of the title, for logging.

This is purely informative and must not be used programmatically. Use the appropriate TitleFormatter to generate the correct string representation for a given use.

Since
1.23
Returns
string

Implements MediaWiki\Linker\LinkTarget.

Definition at line 219 of file TitleValue.php.

References $fragment, $name, and if.

Referenced by TitleValueTest\testToString().

◆ createFragmentTarget()

TitleValue::createFragmentTarget (   $fragment)

Creates a new TitleValue for a different fragment of the same page.

Since
1.27
Parameters
string$fragmentThe fragment name, or "" for the entire page.
Returns
TitleValue

Implements MediaWiki\Linker\LinkTarget.

Definition at line 182 of file TitleValue.php.

Referenced by TitleValueTest\testCreateFragmentTitle().

◆ getDBkey()

TitleValue::getDBkey ( )

Returns the title's DB key, as supplied to the constructor, without namespace prefix or fragment.

Since
1.23
Returns
string

Implements MediaWiki\Linker\LinkTarget.

Definition at line 154 of file TitleValue.php.

References $dbkey.

◆ getFragment()

TitleValue::getFragment ( )
Since
1.23
Returns
string

Implements MediaWiki\Linker\LinkTarget.

Definition at line 135 of file TitleValue.php.

References $fragment.

Referenced by TitleTest\testNewFromTitleValue().

◆ getInterwiki()

TitleValue::getInterwiki ( )

Returns the interwiki part.

Since
1.27
Returns
string

Implements MediaWiki\Linker\LinkTarget.

Definition at line 207 of file TitleValue.php.

References $interwiki.

◆ getNamespace()

TitleValue::getNamespace ( )
Since
1.23
Returns
int

Implements MediaWiki\Linker\LinkTarget.

Definition at line 118 of file TitleValue.php.

References $namespace.

Referenced by TitleValueTest\testCreateFragmentTitle(), and TitleTest\testNewFromTitleValue().

◆ getText()

TitleValue::getText ( )

Returns the title in text form, without namespace prefix or fragment.

Since
1.23

This is computed from the DB key by replacing any underscores with spaces.

Note
To get a title string that includes the namespace and/or fragment, use a TitleFormatter.
Returns
string

Implements MediaWiki\Linker\LinkTarget.

Definition at line 170 of file TitleValue.php.

Referenced by TitleValueTest\testCreateFragmentTitle(), and TitleTest\testNewFromTitleValue().

◆ hasFragment()

TitleValue::hasFragment ( )
Since
1.27
Returns
bool

Implements MediaWiki\Linker\LinkTarget.

Definition at line 143 of file TitleValue.php.

◆ inNamespace()

TitleValue::inNamespace (   $ns)
Since
1.27
Parameters
int$ns
Returns
bool

Implements MediaWiki\Linker\LinkTarget.

Definition at line 127 of file TitleValue.php.

◆ isExternal()

TitleValue::isExternal ( )

Whether it has an interwiki part.

Since
1.27
Returns
bool

Implements MediaWiki\Linker\LinkTarget.

Definition at line 197 of file TitleValue.php.

Member Data Documentation

◆ $dbkey

string TitleValue::$dbkey
protected
Deprecated:
in 1.31.

This class is immutable. Use the getter for access.

Definition at line 48 of file TitleValue.php.

Referenced by __construct(), and getDBkey().

◆ $fragment

string TitleValue::$fragment
protected
Deprecated:
in 1.31.

This class is immutable. Use the getter for access.

Definition at line 54 of file TitleValue.php.

Referenced by __construct(), __toString(), and getFragment().

◆ $interwiki

string TitleValue::$interwiki
protected
Deprecated:
in 1.31.

This class is immutable. Use the getter for access.

Definition at line 60 of file TitleValue.php.

Referenced by __construct(), and getInterwiki().

◆ $namespace

int TitleValue::$namespace
protected
Deprecated:
in 1.31.

This class is immutable. Use the getter for access.

Definition at line 42 of file TitleValue.php.

Referenced by getNamespace().

◆ $prefixedText

string TitleValue::$prefixedText = null

Text form including namespace/interwiki, initialised on demand.

Only public to share cache with TitleFormatter

Access:
private

Definition at line 70 of file TitleValue.php.


The documentation for this class was generated from the following file: