BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
IContextSource Interface Reference
Inheritance diagram for IContextSource:
Collaboration diagram for IContextSource:

Public Member Functions

 getRequest ()
 
 getTitle ()
 
 canUseWikiPage ()
 
 getWikiPage ()
 
 getOutput ()
 
 getUser ()
 
 getLanguage ()
 
 getSkin ()
 
 getConfig ()
 
 getStats ()
 
 getTiming ()
 
 exportSession ()
 
- Public Member Functions inherited from MessageLocalizer
 msg ($key)
 

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 of the 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 actually 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.

Member Function Documentation

IContextSource::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

Implemented in BSApiTasksBase, RequestContext, DerivativeContext, ContextSource, and BlueSpice\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 RequestContext, ContextSource, and BlueSpice\Context.

IContextSource::getConfig ( )

Get the site configuration

Since
1.23
Returns
Config

Implemented in BSApiBase, BSApiInsertTemplateTemplateStore, DerivativeContext, RequestContext, ContextSource, and BlueSpice\Context.

IContextSource::getLanguage ( )
Returns
Language
Since
1.19

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

IContextSource::getOutput ( )
IContextSource::getRequest ( )
IContextSource::getSkin ( )
IContextSource::getStats ( )
Deprecated:
since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
Since
1.25
Returns
IBufferingStatsdDataFactory

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

IContextSource::getTiming ( )
Since
1.27
Returns
Timing

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

IContextSource::getUser ( )
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 BSApiTasksBase, RequestContext, DerivativeContext, BlueSpice\Context, and ContextSource.


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