网站需要开通接口供别人调用,用Zend Framework中的Zend_xmlrpc_server来构建一个server端。

如下:server端

  1. <?php
  2. require_once 'Zend/XmlRpc/Server.php';
  3. /**
  4.  * 返回 json 值
  5.  *
  6.  * @param mixed $value (注意:这是server端中函数的一个形参,必须要在这里体现,传过来是数组,是array,如果是字符串,则是string) 
  7.  * @return  json 
  8.  */
  9. function jencodeValue($value)
  10. {
  11.     return json_encode($value);
  12. }
  13.  
  14. $server = new Zend_XmlRpc_Server();
  15. $server->addFunction('jencodeValue');//这里是用addFunction附加一个函数 
  16. echo $server->handle();//返回一个对象
  17. ?>

client端 (进行XMLRPC调用)

  1. include('Zend/Loader.php');
  2. Zend_Loader::registerAutoload();
  3. $client = new Zend_XmlRpc_Client('http://127.0.0.1/test/xmlrpc/index.php');
  4. $data=array(    //说明:如果传过去的参数是数组,则必须如下要包三层,一个三维数组.
  5.  
  6.                    array(
  7.  
  8.                            array(
  9.                                      "a"=>"Hello World !",
  10.                                      "b"=>"Hello CodeMonkey !"
  11.                                    )
  12.  
  13.                            )
  14.  
  15.                     );
  16. $result=$client->call('jencodeValue',$data);
  17. print_r($result);

结果(json数据):

[{“a”:”Hello World !”,”b”:”Hello CodeMonkey !”}]

发表评论

电子邮件地址不会被公开。 必填项已用*标注