MediaWiki  master
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)
 Stable to call. More...
 
 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.

@newable

Since
1.19

Definition at line 31 of file DerivativeContext.php.

Constructor & Destructor Documentation

◆ __construct()

DerivativeContext::__construct ( IContextSource  $context)

Stable to call.

Parameters
IContextSource$contextContext to inherit from

Definition at line 81 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 151 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getConfig()

DerivativeContext::getConfig ( )
Returns
Config

Reimplemented from ContextSource.

Definition at line 95 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getLanguage()

DerivativeContext::getLanguage ( )
Returns
Language
Since
1.19

Reimplemented from ContextSource.

Definition at line 233 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getOutput()

DerivativeContext::getOutput ( )
Returns
OutputPage

Reimplemented from ContextSource.

Definition at line 194 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getRequest()

DerivativeContext::getRequest ( )
Returns
WebRequest

Reimplemented from ContextSource.

Definition at line 125 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getSkin()

DerivativeContext::getSkin ( )
Returns
Skin

Reimplemented from ContextSource.

Definition at line 248 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 104 of file DerivativeContext.php.

◆ getTiming()

DerivativeContext::getTiming ( )
Returns
Timing

Reimplemented from ContextSource.

Definition at line 111 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getTitle()

DerivativeContext::getTitle ( )
Returns
Title|null

Reimplemented from ContextSource.

Definition at line 139 of file DerivativeContext.php.

References ContextSource\getContext().

◆ getUser()

DerivativeContext::getUser ( )
Returns
User

Reimplemented from ContextSource.

Definition at line 208 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 180 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 264 of file DerivativeContext.php.

References wfMessage().

◆ setConfig()

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

Implements MutableContext.

Definition at line 88 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 217 of file DerivativeContext.php.

References RequestContext\sanitizeLangCode().

◆ setOutput()

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

Implements MutableContext.

Definition at line 187 of file DerivativeContext.php.

References $output.

◆ setRequest()

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

Implements MutableContext.

Definition at line 118 of file DerivativeContext.php.

References $request.

◆ setSkin()

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

Implements MutableContext.

Definition at line 240 of file DerivativeContext.php.

References $skin, and ContextSource\setContext().

◆ setTitle()

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

Implements MutableContext.

Definition at line 132 of file DerivativeContext.php.

References $title.

◆ setUser()

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

Implements MutableContext.

Definition at line 201 of file DerivativeContext.php.

References $user.

◆ setWikiPage()

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

Implements MutableContext.

Definition at line 167 of file DerivativeContext.php.

Member Data Documentation

◆ $config

Config DerivativeContext::$config
private

Definition at line 70 of file DerivativeContext.php.

Referenced by setConfig().

◆ $lang

Language DerivativeContext::$lang
private

Definition at line 60 of file DerivativeContext.php.

◆ $output

OutputPage DerivativeContext::$output
private

Definition at line 50 of file DerivativeContext.php.

Referenced by setOutput().

◆ $request

WebRequest DerivativeContext::$request
private

Definition at line 35 of file DerivativeContext.php.

Referenced by setRequest().

◆ $skin

Skin DerivativeContext::$skin
private

Definition at line 65 of file DerivativeContext.php.

Referenced by setSkin().

◆ $timing

Timing DerivativeContext::$timing
private

Definition at line 75 of file DerivativeContext.php.

◆ $title

Title DerivativeContext::$title
private

Definition at line 40 of file DerivativeContext.php.

Referenced by setTitle().

◆ $user

User DerivativeContext::$user
private

Definition at line 55 of file DerivativeContext.php.

Referenced by setUser().

◆ $wikipage

WikiPage DerivativeContext::$wikipage
private

Definition at line 45 of file DerivativeContext.php.


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