Mediawiki 从另一个文件调用钩子函数

Mediawiki Call hook function from another file

您好,我需要在创建新页面时将一些内容保存到 MediaWiki 的数据库中。 所以我在 LocalSettings.php:

中添加了钩子
$wgHooks['PageContentSaveComplete'][] ='assign_responsibility';

但我需要从扩展 php 文件 Responsibility.php 而不是 LocalSettings 调用函数 assing_responsibility()。 我是 Mediawiki 系统的新手,我无法找到 如何告诉 MediaWiki 在哪里可以找到所需的挂钩函数? 谢谢

挂钩值为 PHP callables; they can be defined in any file as long as the file gets loaded before the hook gets called (or, if you use a class method instead of a global function, the class is registered via $wgAutoloadClasses).

约定是您的扩展(我假设它称为 Responsibility)创建一个挂钩文件:

// ResponsibilityHooks.php
class ResponsibilityHooks {
    public static function onPageContentSaveComplete(/*...*/) { /*...*/ }
    // ...
}

并确保它可以自动加载:

// Responsibility.php
$wgHooks['PageContentSaveComplete'][] = 'ResponsibilityHooks::onPageContentSaveComplete';   
$wgAutoloadClasses['ResponsibilityHooks'] = __DIR__ . '/ResponsibilityHooks.php';