Manual:$wgExtensionFunctions
Extensions: $wgExtensionFunctions | |
---|---|
A list of callback functions which are called once MediaWiki is fully initialised. |
|
Introduced in version: | 1.3.0 (r3583) |
Removed in version: | still in use |
Allowed values: | Unspecified |
Default value: | [] |
Other settings: Alphabetical | By function |
Details
This variable is an array that stores functions to be called after most of MediaWiki initialization is complete.
Note however that at this point the RequestContext is not yet fully set up, so attempting to use it (or equivalent globals such as $wgUser
or $wgTitle
) is liable to fail in odd ways.
If you need to use the RequestContext, consider the BeforeInitialize and ApiBeforeMain hooks instead.
Note also that certain config variables might have been processed already at this point and changing them might be unsafe. While there is currently no dedicated place for changing configuration, the MediaWikiServices hook is a better option than extension functions.
This variable should be used for final step of initialization of extension setup code that needs to perform advanced things, like using global functions and instantiating autoloaded classes. Typically each extension has one setup function associated with it. The array element concerned is typically defined in the extension file itself, with a statement of the form compatible with call_user_func() PHP function:
$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';
Each setup function is then called from /includes/Setup.php .
For example, if your extension needs to access database during its initialization:
function initMyExtension() {
$dbr = wfGetDB( DB_REPLICA );
$myExtension = new MyExtension();
$myExtension->loadSettingsFromDatabase( $dbr );
}