/コロンブスエッグ/クライアント
クライアントは可能な限りシンプルに扱えるように、CE_PRECONFオプションとCE_AUTOLOADオプションを用意しています。
$GLOBALS['CE_PRECONF']=true;
ce_client.confファイルを読み込み、コンストラクタの引数の省略を可能にします。
$GLOBALS['CE_AUTOLOAD']=true;
__autoload関数の定義を有効にし、クラス宣言を不要にします。
すでに__autoloadを利用している場合は有効にしないでください。
オプション定義より後ろに書いてください。
require("ce_client.php");
ce_client.phpの中でXML/RPC.phpをrequireしているので、ここでは必要ありません。
CE_AUTOLOADを有効にしていない場合必要です。
class sample extends CE_C_SKEL{};
実際の処理は全てCE_C_SKELクラスが行います。
newします。CE_PRECONFが有効になっていて、適切な設定が行われている場合
$x=new sample;
これでOKです。CE_PRECONFが有効でない場合
$x=new sample("http://localhost","/server/");
このようにします。接続先を頻繁に変えるような使い方ではこちらがオススメです。
class hoge extends CE_C_SKEL{};
$x=new hoge("http://localhost","/server/","sample");
サーバ上のsampleクラスをhogeクラスとして利用します。
使いたいクラスと同じ名前のクラスがすでにある場合等に利用します。
メソッドのレスポンスがfaultの場合、例外を発生させます。
(ce_serverのクラス内で発生した例外はfaultレスポンスとして扱われるため、例外は透過的に扱うことができます。)
faultCodeがCodeに、faultStringがMessageに入ります。
0_1_0から単純に例外コードに$GLOBALS["XML_RPC_erruser"]を加算するのでなく、$GLOBALS["XML_RPC_erruser"]より大きい1000の倍数を加えるようになりました。1-999の範囲で例外コードを定義すれば、クライアント側で%1000することで元のコードが取り出せます。