MediaWiki master
MediaWiki\Context\IContextSource Interface Reference

Interface for objects which can provide a MediaWiki context on request. More...

Inherits MediaWiki\Language\LocalizationContext, and MediaWiki\Session\CsrfTokenSetProvider.

Inherited by MediaWiki\Context\ContextSource, and MediaWiki\Context\RequestContext.

Collaboration diagram for MediaWiki\Context\IContextSource:

Public Member Functions

 canUseWikiPage ()
 Check whether a WikiPage object can be obtained with getWikiPage().
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID.
 
 getActionName ()
 Get the action name for the current web request.
 
 getAuthority ()
 
 getConfig ()
 Get the site configuration.
 
 getLanguage ()
 
 getOutput ()
 
 getRequest ()
 
 getSkin ()
 
 getTiming ()
 
 getTitle ()
 
 getUser ()
 
 getWikiPage ()
 Get the WikiPage object.
 
- Public Member Functions inherited from MediaWiki\Language\LocalizationContext
 getLanguageCode ()
 Returns the target language for UI localization.
 
- Public Member Functions inherited from MessageLocalizer
 msg ( $key,... $params)
 This is the method for getting translated interface messages.
 
- Public Member Functions inherited from MediaWiki\Session\CsrfTokenSetProvider
 getCsrfTokenSet ()
 Get a set of CSRF tokens to obtain and match specific tokens.
 

Detailed Description

Interface for objects which can provide a MediaWiki context on request.

Context objects contain request-dependent objects that manage the core web request/response logic for essentially all requests to MediaWiki. The contained objects include: a) Key objects that depend (for construction/loading) on the HTTP request b) Key objects used for response building and PHP session state control c) Performance metric deltas accumulated from request execution d) The site configuration object All these objects are useful for the vast majority of MediaWiki requests. The site configuration object is included on grounds of extreme utility, even though it should not depend on the web request.

More specifically, the scope of the context includes: a) Objects that represent the HTTP request/response and PHP session state b) Object representing the MediaWiki user (as determined by the HTTP request) c) Primary MediaWiki output builder objects (OutputPage, user skin object) d) The language object for the user/request e) The title and wiki page objects requested via URL (if any) f) Performance metric deltas accumulated from request execution g) The site configuration object

This class is not intended as a service-locator nor a service singleton. Objects that only depend on site configuration do not belong here (aside from Config itself). Objects that represent persistent data stores do not belong here either. Session state changes should only be propagated on shutdown by separate persistence handler objects, for example.

Must not be implemented directly by extensions, extend ContextSource instead.

Since
1.18
Stability: stable
to type
Author
Happy-melon

Definition at line 71 of file IContextSource.php.

Member Function Documentation

◆ canUseWikiPage()

MediaWiki\Context\IContextSource::canUseWikiPage ( )

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

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

Since
1.19
Returns
bool

Implemented in MediaWiki\Context\ContextSource, MediaWiki\Context\DerivativeContext, and MediaWiki\Context\RequestContext.

◆ exportSession()

MediaWiki\Context\IContextSource::exportSession ( )

Export the resolved user IP, HTTP headers, user ID, and session ID.

The result will be reasonably sized to allow for serialization.

Returns
array
Since
1.21

Implemented in MediaWiki\Context\ContextSource, and MediaWiki\Context\RequestContext.

◆ getActionName()

MediaWiki\Context\IContextSource::getActionName ( )

Get the action name for the current web request.

Since
1.38
Returns
string

Implemented in MediaWiki\Context\ContextSource, MediaWiki\Context\DerivativeContext, and MediaWiki\Context\RequestContext.

Referenced by Action\getActionName().

◆ getAuthority()

◆ getConfig()

◆ getLanguage()

◆ getOutput()

◆ getRequest()

◆ getSkin()

◆ getTiming()

MediaWiki\Context\IContextSource::getTiming ( )

◆ getTitle()

◆ getUser()

◆ getWikiPage()

MediaWiki\Context\IContextSource::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

Implemented in MediaWiki\Context\ContextSource, MediaWiki\Context\DerivativeContext, and MediaWiki\Context\RequestContext.


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