手册:$wgExtensionFunctions
扩展: $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 );
}