Php 媒体维基。函数是如何得到参数的?

Php 媒体维基。函数是如何得到参数的?,php,mediawiki,Php,Mediawiki,问题是关于PHP中的函数和参数。我正在阅读mediawiki的代码。 它增加了回调函数: $wgHooks['ArticleSaveComplete'][] = 'fnAutoWikiDump'; function fnAutoWikiDump(&$article, &$user, &$text, &$summary, &$minoredit, &$watchthis, &$sectionanch

问题是关于PHP中的函数和参数。我正在阅读mediawiki的代码。 它增加了回调函数:

$wgHooks['ArticleSaveComplete'][] = 'fnAutoWikiDump';
function fnAutoWikiDump(&$article, &$user, &$text, &$summary, &$minoredit, 
                    &$watchthis, &$sectionanchor, &$flags, &$revision){...}
然后是这个函数的定义:

$wgHooks['ArticleSaveComplete'][] = 'fnAutoWikiDump';
function fnAutoWikiDump(&$article, &$user, &$text, &$summary, &$minoredit, 
                    &$watchthis, &$sectionanchor, &$flags, &$revision){...}
在此函数中,我可以访问$article类的成员:

$awd_title = $article->getTitle();
我无法理解变量
$article
在调用函数时是如何传递给函数的?它看起来像是在函数的定义中传递的(我知道它是错误的),但我不明白它是如何传递的。
是吗?

您发布的代码和链接中的示例代码没有显示实际调用该函数的详细信息。它只是注册为回调。回调函数的部分用处在于,您通常不必自己调用它们,而是由使用它们的进程自动调用它们

在MediaWiki代码的其他地方,调用了向
ArticleSaveComplete
注册的回调(它们有一个数组),正确的参数通过常规的、可识别的函数调用或类似的机制传递给函数调用


定义回调以使用该接口时,作为程序员,您的责任只是确保函数定义以正确的顺序使用正确的参数数和正确的名称。如何调用它的详细信息取决于调用它的机制。

参数名称实际上并不重要,函数定义中的参数数量也不需要与函数调用中的参数数量相同。