Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4094671
TitleFactory.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
TitleFactory.php
View Options
<?php
/**
* Factory for creating Title objects without static coupling.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
namespace
MediaWiki\Title
;
use
MediaWiki\Linker\LinkTarget
;
use
MediaWiki\Page\PageIdentity
;
use
MediaWiki\Page\PageReference
;
use
MessageLocalizer
;
use
Wikimedia\Rdbms\IResultWrapper
;
/**
* Creates Title objects.
*
* For now, there is nothing interesting in this class. It is meant for preventing static Title
* methods causing problems in unit tests.
*
* @since 1.35
*/
class
TitleFactory
{
/**
* @see Title::newFromDBkey
* @param string $key
* @return Title|null
*/
public
function
newFromDBkey
(
$key
):
?
Title
{
return
Title
::
newFromDBkey
(
$key
);
}
/**
* @see Title::newFromLinkTarget
* @param LinkTarget $linkTarget
* @param string $forceClone
* @return Title
*/
public
function
newFromLinkTarget
(
LinkTarget
$linkTarget
,
$forceClone
=
''
):
Title
{
return
Title
::
newFromLinkTarget
(
$linkTarget
,
$forceClone
);
}
/**
* @see Title::castFromLinkTarget
* @param LinkTarget|null $linkTarget
* @return Title|null
*/
public
function
castFromLinkTarget
(
?
LinkTarget
$linkTarget
):
?
Title
{
return
Title
::
castFromLinkTarget
(
$linkTarget
);
}
/**
* @see Title::newFromPageIdentity
* @since 1.41
* @param PageIdentity $pageIdentity
* @return Title
*/
public
function
newFromPageIdentity
(
PageIdentity
$pageIdentity
):
Title
{
return
Title
::
newFromPageIdentity
(
$pageIdentity
);
}
/**
* @see Title::castFromPageIdentity
* @since 1.36
* @param PageIdentity|null $pageIdentity
* @return Title|null
*/
public
function
castFromPageIdentity
(
?
PageIdentity
$pageIdentity
):
?
Title
{
return
Title
::
castFromPageIdentity
(
$pageIdentity
);
}
/**
* @see Title::newFromPageReference
* @since 1.41
* @param PageReference $pageReference
* @return Title
*/
public
function
newFromPageReference
(
PageReference
$pageReference
):
Title
{
return
Title
::
newFromPageReference
(
$pageReference
);
}
/**
* @see Title::castFromPageReference
* @since 1.37
* @param PageReference|null $pageReference
* @return Title|null
*/
public
function
castFromPageReference
(
?
PageReference
$pageReference
):
?
Title
{
return
Title
::
castFromPageReference
(
$pageReference
);
}
/**
* @see Title::newFromText
* @param string|int|null $text
* @param int $defaultNamespace
* @return Title|null
* @throws \InvalidArgumentException
*/
public
function
newFromText
(
$text
,
$defaultNamespace
=
NS_MAIN
):
?
Title
{
return
Title
::
newFromText
(
$text
,
$defaultNamespace
);
}
/**
* @see Title::newFromTextThrow
* @param string $text
* @param int $defaultNamespace
* @return Title
* @throws MalformedTitleException
*/
public
function
newFromTextThrow
(
$text
,
$defaultNamespace
=
NS_MAIN
):
Title
{
return
Title
::
newFromTextThrow
(
$text
,
$defaultNamespace
);
}
/**
* @see Title::newFromURL
* @param string $url
* @return Title|null
*/
public
function
newFromURL
(
$url
):
?
Title
{
return
Title
::
newFromURL
(
$url
);
}
/**
* @see Title::newFromID
* @param int $id
* @param int $flags
* @return Title|null
*/
public
function
newFromID
(
$id
,
$flags
=
0
):
?
Title
{
return
Title
::
newFromID
(
$id
,
$flags
);
}
/**
* @see Title::newFromRow
* @param \stdClass $row
* @return Title
*/
public
function
newFromRow
(
$row
):
Title
{
return
Title
::
newFromRow
(
$row
);
}
/**
* @see Title::makeTitle
* @param int $ns
* @param string $title
* @param string $fragment
* @param string $interwiki
* @return Title
*/
public
function
makeTitle
(
$ns
,
$title
,
$fragment
=
''
,
$interwiki
=
''
):
Title
{
return
Title
::
makeTitle
(
$ns
,
$title
,
$fragment
,
$interwiki
);
}
/**
* @see Title::makeTitleSafe
* @param int $ns
* @param string $title
* @param string $fragment
* @param string $interwiki
* @return Title|null
*/
public
function
makeTitleSafe
(
$ns
,
$title
,
$fragment
=
''
,
$interwiki
=
''
):
?
Title
{
return
Title
::
makeTitleSafe
(
$ns
,
$title
,
$fragment
,
$interwiki
);
}
/**
* @see Title::newMainPage
* @param MessageLocalizer|null $localizer
* @return Title
*/
public
function
newMainPage
(
?
MessageLocalizer
$localizer
=
null
):
Title
{
return
Title
::
newMainPage
(
$localizer
);
}
/**
* @since 1.42
* @param IResultWrapper $result
* @return TitleArrayFromResult
*/
public
function
newTitleArrayFromResult
(
IResultWrapper
$result
)
{
return
new
TitleArrayFromResult
(
$result
);
}
}
/** @deprecated class alias since 1.41 */
class_alias
(
TitleFactory
::
class
,
'TitleFactory'
);
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 18 2026, 13:24 (4 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
2c/b2/85aee042b4a74ea79b55d39f3e7f
Default Alt Text
TitleFactory.php (5 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment