cliで実行してみる。sample_class.php3これでなんかする部分はOK.これをリモートで呼び出せるようにする。サーバ化まずはサーバ側。サーバ側はメソッドの引数が必ず配列になるので、それに対応する。sample_class.php3OK.このクラス部分のみをsample_class.incというファイル名にして保存し、server_classes.incに登録してサーバ側で利用できるようにする。クライアント実装クライアント側はclient_stubクラスを継承しなければなりません。メソッドの引数/戻り値は「なんかする」部分と同じにします。クライアントではコンストラクタが必要になります。コンストラクタ内でサーバのURIを指定します。親クラスのコンストラクタで自身のクラス名の取得などを行うので呼んでおく必要があります。初期化init()メソッドを実行すると、サーバとのコネクション確立、リモートメソッドの生成が行われるので、面倒ならばコンストラクタ内部で行ってしまってもよいでしょう。クライアントのインスタンスを呼び出す側で行ってもかまいません。クライアントのクラスはこのような感じになります。}?>ここではサーバが同じマシンで動いていることを前提としている。ポート番号は任意であるがサーバと合わせる必要があります。locahostを設定してある。このメソッドがXML-RPCメッセージを生成しサーバと通信をし、その結果をクライアントプロルラムが利用できる形に変換しています。このadd()メソッドからもわかるように、client側のクラスメソッドは単なるstubとして記述されるのがほとんどだと思います。リモート操作確認クライアントを実行するためのサンプルスクリプトを用意します。リモート機能を後から付け加えたい場合などは、先にこっちのスクリプトに対応するものが存在するでしょう。print("$res\n");?>include_once('sample_class.inc');クライアント側のclient_stubからの派生クラスsample_classを読み込んでおきます。2);print("$res\n");メソッドを呼んで結果を表示します。(8695)のようなログが出力される。(日時と()内部の数字は任意)次にテスト用サンプルスクリプトを実行する。client_sample.php3OK!!これで一連の実装は完了。ここではクライアント側もcliで書いたが、webで書いても同様の動きをする(はず)。これで、webサーバマシンとphpのリモートマシンを分離すことができるようになりました。