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