php IXR_Library使用示例
xml_rpc无疑是一个很有用的功能,最近因为在做一个wordpress多博客管理中心,以管理那些发布过的文章,所以深入了解了一下wordpress的xmlrpc api。
wordpress中的xml_rpc是使用一个开源类IXR_Library。
根据上面的介绍我做了一个测试,很简单,却演示了xml_rpc数据传输的过程。
下载php本地开发环境wampserver。 在php中打开xmlrpc模块。
之后在wamp目录下创建服务端文件server.php 并写入代码:
require_once('IXR_Library.php');
function getTime($args) {
return date('H:i:s');
}
function add($args) {
return $args[0] + $args[1];
}
function addArray($array) {
$total = 0;
foreach ($array as $number) {
$total += $number;
}
return implode(' + ', $array).' = '.$total;
}
/*创建xmlrpc服务,并将xml_rpc方法名指定函数*/
$server = new IXR_Server(array(
'test.getTime' => 'getTime',
'test.add' => 'add',
'test.addArray' => 'addArray'
));
再创建客户端文件 client.php文件:
$client = new IXR_Client('http://localhost/xmlrpc/server.php');
if (!$client->query('test.add',15,14)) {
die('An error occurred - '.$client->getErrorCode().":".$client->getErrorMessage());
}
print $client->getResponse();
这里使用发送一个xml请求,服务端文件接收到请求,并执行add函数。返回结果。
IXR类中还有很更高级的应该,比如客户端的IXR_ClientMulticall 多个请求同时发送执行。 服务端的自省功能IXR_IntrospectionServer






