/コロンブスエッグ/サーバ コロンブスエッグ/サーバ - A.K.I. Home

A.K.I. HomeATOM:A.K.I. Home

コロンブスエッグ / サーバ

公開用ファイル bookmark

エンドポイントになるphpファイルを用意します。
そのファイルと同じ階層にclassesディレクトリを作ります。
classesディレクトリ内の[クラス名].phpが公開されるクラスになります。

インクルード bookmark

エンドポイントのファイルに、まず

require("ce_server.php");

これを書きましょう。

初期化 bookmark

公開したいクラスを引数に、CE_SERVER関数を呼び出します。

CE_SERVER(
	"sample",
	"sample2"
);

こんな感じでいいでしょう。

例外 bookmark

classes下のクラスのメソッド内でthrowされた例外は、ce_server内でcatchされ、faultレスポンスとして処理されます。
ce_clientではfaultレスポンスを例外として再度投げるので、透過的に例外を処理することができます。
※サーバクラスのメソッドで明確に「失敗」を扱いたい場合は例外を使うべきです。そうすることでColombusEgg以外のクライアントもそれが「失敗」であることを認識できます。
0_1_0から単純に例外コードに$GLOBALS["XML_RPC_erruser"]を加算するのでなく、$GLOBALS["XML_RPC_erruser"]より大きい1000の倍数を加えるようになりました。1-999の範囲で例外コードを定義すれば、クライアント側で%1000することで元のコードが取り出せます。

 
TB:http://www.tetsuneko.net/aki/sitedev2/tb/d13741f52af5e32e9c3037b5e1224500
(c)A.K.I. 2007