MediaWiki  1.34.0
DerivativeContext Class Reference

An IContextSource implementation which will inherit context from another source but allow individual pieces of context to be changed locally eg: A ContextSource that can inherit from the main RequestContext but have a different Title instance set on it. More...

Inheritance diagram for DerivativeContext:
Collaboration diagram for DerivativeContext:

Public Member Functions

 __construct (IContextSource $context)
 
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage(). More...
 
 getConfig ()
 
 getLanguage ()
 
 getOutput ()
 
 getRequest ()
 
 getSkin ()
 
 getStats ()
 
 getTiming ()
 
 getTitle ()
 
 getUser ()
 
 getWikiPage ()
 Get the WikiPage object. More...
 
 msg ( $key,... $params)
 Get a message using the current context. More...
 
 setConfig (Config $config)
 
 setLanguage ( $language)
 
 setOutput (OutputPage $output)
 
 setRequest (WebRequest $request)
 
 setSkin (Skin $skin)
 
 setTitle (Title $title)
 
 setUser (User $user)
 
 setWikiPage (WikiPage $wikiPage)
 
- Public Member Functions inherited from ContextSource
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID. More...
 
 getContext ()
 Get the base IContextSource object. More...
 
 setContext (IContextSource $context)
 

Private Attributes

Config $config
 
Language $lang
 
OutputPage $output
 
WebRequest $request
 
Skin $skin
 
Timing $timing
 
Title $title
 
User $user
 
WikiPage $wikipage
 

Detailed Description

An IContextSource implementation which will inherit context from another source but allow individual pieces of context to be changed locally eg: A ContextSource that can inherit from the main RequestContext but have a different Title instance set on it.

Since
1.19

Definition at line 30 of file DerivativeContext.php.

Constructor & Destructor Documentation

◆ __construct()

DerivativeContext::__construct ( IContextSource  $context)
Parameters
IContextSource$contextContext to inherit from

Definition at line 79 of file DerivativeContext.php.

References ContextSource\setContext().

Member Function Documentation

◆ canUseWikiPage()

DerivativeContext::canUseWikiPage ( )

Check whether a WikiPage object can be get with getWikiPage().

Callers should expect that an exception is thrown from getWikiPage() if this method returns false.

Since
1.19
Returns
bool

Reimplemented from ContextSource.

Definition at line 149 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getConfig()

DerivativeContext::getConfig ( )
Returns
Config

Reimplemented from ContextSource.

Definition at line 93 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getLanguage()

DerivativeContext::getLanguage ( )
Returns
Language
Since
1.19

Reimplemented from ContextSource.

Definition at line 231 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getOutput()

DerivativeContext::getOutput ( )
Returns
OutputPage

Reimplemented from ContextSource.

Definition at line 192 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getRequest()

DerivativeContext::getRequest ( )
Returns
WebRequest

Reimplemented from ContextSource.

Definition at line 123 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getSkin()

DerivativeContext::getSkin ( )
Returns
Skin

Reimplemented from ContextSource.

Definition at line 246 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getStats()

DerivativeContext::getStats ( )
Deprecated:
since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
Returns
IBufferingStatsdDataFactory

Reimplemented from ContextSource.

Definition at line 102 of file DerivativeContext.php.

◆ getTiming()

DerivativeContext::getTiming ( )
Returns
Timing

Reimplemented from ContextSource.

Definition at line 109 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getTitle()

DerivativeContext::getTitle ( )
Returns
Title|null

Reimplemented from ContextSource.

Definition at line 137 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getUser()

DerivativeContext::getUser ( )
Returns
User

Reimplemented from ContextSource.

Definition at line 206 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getWikiPage()

DerivativeContext::getWikiPage ( )

Get the WikiPage object.

May throw an exception if there's no Title object set or the Title object belongs to a special namespace that doesn't have WikiPage, so use first canUseWikiPage() to check whether this method can be called safely.

Since
1.19
Returns
WikiPage

Reimplemented from ContextSource.

Definition at line 178 of file DerivativeContext.php.

References ContextSource\getContext().

◆ msg()

DerivativeContext::msg (   $key,
  $params 
)

Get a message using the current context.

This can't just inherit from ContextSource, since then it would set only the original context, and not take into account any changes.

Parameters
string | string[] | MessageSpecifier$keyMessage key, or array of keys, or a MessageSpecifier.
mixed...$params
Returns
Message

Reimplemented from ContextSource.

Definition at line 262 of file DerivativeContext.php.

References wfMessage().

◆ setConfig()

DerivativeContext::setConfig ( Config  $config)
Parameters
Config$config

Implements MutableContext.

Definition at line 86 of file DerivativeContext.php.

References $config.

◆ setLanguage()

DerivativeContext::setLanguage (   $language)
Parameters
Language | string$languageLanguage instance or language code
Exceptions
MWException
Since
1.19

Implements MutableContext.

Definition at line 215 of file DerivativeContext.php.

References Language\factory(), and RequestContext\sanitizeLangCode().

◆ setOutput()

DerivativeContext::setOutput ( OutputPage  $output)
Parameters
OutputPage$output

Implements MutableContext.

Definition at line 185 of file DerivativeContext.php.

References $output.

◆ setRequest()

DerivativeContext::setRequest ( WebRequest  $request)
Parameters
WebRequest$request

Implements MutableContext.

Definition at line 116 of file DerivativeContext.php.

References $request.

◆ setSkin()

DerivativeContext::setSkin ( Skin  $skin)
Parameters
Skin$skin

Implements MutableContext.

Definition at line 238 of file DerivativeContext.php.

References $skin, and ContextSource\setContext().

◆ setTitle()

DerivativeContext::setTitle ( Title  $title)
Parameters
Title$title

Implements MutableContext.

Definition at line 130 of file DerivativeContext.php.

References $title.

◆ setUser()

DerivativeContext::setUser ( User  $user)
Parameters
User$user

Implements MutableContext.

Definition at line 199 of file DerivativeContext.php.

References $user.

◆ setWikiPage()

DerivativeContext::setWikiPage ( WikiPage  $wikiPage)
Since
1.19
Parameters
WikiPage$wikiPage

Implements MutableContext.

Definition at line 165 of file DerivativeContext.php.

Referenced by EditPage\__construct().

Member Data Documentation

◆ $config

Config DerivativeContext::$config
private

Definition at line 69 of file DerivativeContext.php.

Referenced by setConfig().

◆ $lang

Language DerivativeContext::$lang
private

Definition at line 59 of file DerivativeContext.php.

◆ $output

OutputPage DerivativeContext::$output
private

Definition at line 49 of file DerivativeContext.php.

Referenced by setOutput().

◆ $request

WebRequest DerivativeContext::$request
private

Definition at line 34 of file DerivativeContext.php.

Referenced by setRequest().

◆ $skin

Skin DerivativeContext::$skin
private

Definition at line 64 of file DerivativeContext.php.

Referenced by setSkin().

◆ $timing

Timing DerivativeContext::$timing
private

Definition at line 74 of file DerivativeContext.php.

◆ $title

Title DerivativeContext::$title
private

Definition at line 39 of file DerivativeContext.php.

Referenced by setTitle().

◆ $user

User DerivativeContext::$user
private

Definition at line 54 of file DerivativeContext.php.

Referenced by setUser().

◆ $wikipage

WikiPage DerivativeContext::$wikipage
private

Definition at line 44 of file DerivativeContext.php.


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