どうにかなるBLOG

PEAR より全然使いやすい Incutio XML-RPC

XML-RPCといえば、PEARでやってる人も多いかと思うけど、はっきり言ってとても使いにくい。そこで、とても使い勝手のいい Incutio XML-RPC の紹介と、その使い方をちらり

引っ越し先:http://dounikanarub...


ダウンロードはこちらから
http://scripts.incu...

まずは超簡単なクライアントの使い方

//ライブラリの読み込み
require_once "IXR_Library.inc.php";
//APIのアドレスをセット
$client =& new IXR_Client("http://******");
//test.getListメソッドを送信
$client->query('test.getList');
//結果を出力
print_r($client->getResponse());

たったこれだけ!で、サーバーからリストを取ってこれる。

サーバーから返ってきた XML は Incutio XML-RPC が
解析して適当な型に自動変換してくれるのでとても楽ちんです。

ちなみに、エラー処理も含めるとこんな感じ

require_once "IXR_Library.inc.php";
$client =& new IXR_Client("http://******");
if(!$client->query('test.getList')){
die('error - '.$client->getErrorCode());
}
print_r($client->getResponse());

クエリの例をいくつか

$client->query('test.add',1,2);
$client->query('test.getItem','1');
$client->query('test.addAll',array(1,2,3,4,5));

簡単でしょ?

ではクエリを受け取るサーバー側はというと、
上のクエリの例にでてる test.add というメソッドを実装すると、、

require_once "IXR_Library.inc.php";
function add($a,$b){
return $a+$b;
}
$server =& new IXR_Server(array('test.add'=>'add'));

たったこれだけ。配列を受け取る場合も、

require_once "IXR_Library.inc.php";
function addAll($list){
$result = 0;
foreach($list as $a){$result+=$a};
return $result;
}
$server =& new IXR_Server(array('test.addAll'=>'addAll'));

こんなんでいけちゃうんですよ。
posted at 01:21:13 on 2007-12-17 by バカ梵 - Category: XML-RPC

TrackBack

Trackback URL

Comments

No comments yet

Add Comments

:

:
:


Warning: fopen(../w3a/logs/log_20120516.log) [function.fopen]: failed to open stream: Disk quota exceeded in /virtual/sandman/public_html/w3a/writelog.php on line 263