您好我需要在创建新页面时将一些内容保存到MediaWiki中的数据库。 所以我在LocalSettings.php中添加了钩子:
$wgHooks['PageContentSaveComplete'][] ='assign_responsibility';
但我需要从扩展php文件Responsibility.php调用函数assing_responsibility()而不是LocalSettings。 我是Mediawiki系统的新手,我无法找到如何告诉MediaWiki哪里可以找到所需的钩子功能? 谢谢
答案 0 :(得分:4)
钩子值是PHP callables;只要在调用钩子之前加载文件,就可以在任何文件中定义它们(或者,如果使用类方法而不是全局函数,则通过$wgAutoloadClasses注册该类)。
惯例是你的扩展(我假设称为责任)创建一个钩子文件:
// ResponsibilityHooks.php
class ResponsibilityHooks {
public static function onPageContentSaveComplete(/*...*/) { /*...*/ }
// ...
}
并确保它可以自动加载:
// Responsibility.php
$wgHooks['PageContentSaveComplete'][] = 'ResponsibilityHooks::onPageContentSaveComplete';
$wgAutoloadClasses['ResponsibilityHooks'] = __DIR__ . '/ResponsibilityHooks.php';