Manual:$wgExtensionFunctions

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
<translate> Extensions</translate>: $wgExtensionFunctions
A list of callback functions which are called once MediaWiki is fully initialised.
<translate> Introduced in version:</translate>1.3.0 (r3583)
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate><translate> Unspecified</translate>
<translate> Default value:</translate>[]

Details

In general, using this functionality is a hack that suggests that something is going wrong somewhere, whether in MediaWiki core or in the extension. It should be avoided.

This variable is an array that stores callbacks to be executed after most of MediaWiki initialization is complete. Extensions can register callbacks to be executed this way using the ExtensionFunctions of extension.json. At the time these callbacks are called, MediaWikiServices and the main RequestContext are fully initialized.

Note that config variables have been processed already at this point and changing them is unsafe. Extensions that need to dynamically set configuration should use a registration callback instead.

ExtensionFunction callbacks should be used only for initialization code that need to interact with service objects as a final step.

For example, if your extension needs to access database during its initialization:

function initMyExtension() {
      $dbr = MediaWikiServices::getInstance()
            ->getConnectionProvider->getReplicaDatabase();
      $myExtension = new MyExtension();
      $myExtension->loadSettingsFromDatabase( $dbr );
}

See also