手册:$wgExtensionFunctions

This page is a translated version of the page Manual:$wgExtensionFunctions and the translation is 100% complete.
扩展: $wgExtensionFunctions
MediaWiki完全初始化后调用的回调函数列表。
引进版本:1.3.0 (r3583)
移除版本:仍在使用
允许的值:未指定
默认值:[]

详细信息

一般来说,使用此功能是一种黑客攻击,表明MediaWiki核心或扩展中的某个地方出了问题。 应该避免这种情况。

该变量是存储在大多数MediaWiki初始化完成后要调用的函数的数组。 但是请注意,此时RequestContext尚未完全设置,因此尝试使用它(或类似的全局变量,如$wgUser $wgTitle )可能会以奇怪的方式失败。 如果您需要使用RequestContext,请考虑使用$BeforInitialize和$ApiBeForeMain挂钩。

另请注意,某些配置变量此时可能已经被处理,更改它们可能不安全。 虽然目前没有更改配置的专用位置,但MediaWikiServices 钩子是比扩展函数更好的选择。

此变量应用于初始化扩展设置代码的最后一步,这些代码需要执行高级操作,如使用[1]和实例化自动加载的类。 通常,每个扩展都有一个与之相关联的设置功能。 相关的数组元素通常在扩展文件本身中定义,语句的格式与call_user_func() PHP函数兼容:

$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';

然后从/includes/Setup.php 调用每个设置函数。

例如,如果您的扩展在初始化期间需要访问数据库:

function initMyExtension() {
      $dbr = wfGetDB( DB_REPLICA );
      $myExtension = new MyExtension();
      $myExtension->loadSettingsFromDatabase( $dbr );
}

另见