xmlrpc钩子描述了由模块所提供的外部XML-RPC方法。在我们的例子中,我们仅提供了一个方法。,所以这里,方法名字为:remoteHello.hello。这是请求者使用的名字,它是任意的。一个好的实践是使用“.“分割的字符串,使用你的模块名作为前半部分,使用一个描述性的动词作为后半部分。
注意:尽管通常在Drupal里面避免使用骆驼形式的字符串,但在XML-RPC方法名中这是个例外。
数组的第2部分,是对remoteHello.hello的请求到来时,所要调用的函数的名称。在我们的例子中,我们将这一函数叫做xmls_remotehello_hello ()。当你开发模块时,你将写很多的函数。通过在函数名字中包含”xmls“(XML-RPC Server的简写), 这样你就可以一眼看出这个函数是与外界交互的。类似的,你可以在函数中使用”xmlc“,用以调用其他网站上的方法。当你写一个主要调用自身的模块时,这是个很好的实践,尽管在另一个网站上,否则的话,调试时你会非常困惑。
当你的模块认定一个错误发生时,使用xmlrpc_error()来定义一个错误代码和一个用以描述哪里出错的帮助字符串,以显示给客户。数字错误代码是任意的,并且是应用相关的。
假定带有这一个模块的站点位于example.com上,现在你可以在一个单独的Drupal安装上(比如说,在example2.com)使用以下代码来来发送你的名字:
$url = 'http://example.com/xmlrpc.php';
$method_name = 'remoteHello.hello';
$name = t('Joe');
$result = xmlrpc($url, $method_name, $name);
$result现在是 "Hello, Joe."
老葛的Drupal培训班 Think in Drupal