龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php IXR_Library使用示例

时间:2014-06-26 15:14来源:网络整理 作者:网络 点击:
分享到:
php IXR_Library使用示例 xml_rpc无疑是一个很有用的功能,最近因为在做一个wordpress多博客管理中心,以管理那些发布过的文章,所以深入了解了一下wordpress的xmlrpc api。

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

精彩图集

赞助商链接