2008-04-21

More alternative of BlazeDS - PHP and WebORB

PHP(5以降) に WebORBを適用すると、Flexの mx:RemoteObject から呼び出し可能なサービスを PHPのクラスとして記述することが出来る。

Flex(クライアントアプリケーション)側は、通信クライアントとなるオブジェクトとして mx:RemoteObject を使用する。

Webサーバ側は、任意の場所に配置された weborb.phpを通信のエンドポイントとし、クライアントからの呼び出しを受け付ける。このweborb.phpスクリプトが、呼び出し対象となるサービスへFlexアプリケーションからのリクエストをディスパッチする。ここでいうサービスとは、Servicesディレクトリに配置された(クラスを含む)PHPスクリプト。

Webサーバ側では下記の準備をする。

・エンドポイントとなるスクリプト weborb.phpを配置する
・同じ階層に Weborb フォルダをコピーする。この中身はさしあたり変更しなくても良い
・同じ階層に Services フォルダを作成する。この中に自分のクラスを作成する
・(必要に応じて) WeborbフォルダやServicesフォルダへのHTTP経由での直接アクセスを禁止する

Servicesフォルダの中に作成するスクリプトはこのようにする。
(この例ではファイル名を MyService.php とする)

<?php
class MyService
{
public function sayHello()
{
return "Hello, World!";
}
}
?>

Flex側
<mx:RemoteObject id="srv" destination="MyService"
endpoint=
"http://localhost/~shimarin/weborb.php"/>
<mx:TextInput text="{srv.sayHello.lastResult}"/>
<mx:Button label="Say Hello" click="srv.sayHello()"/>

ラベル:

0 件のコメント:

コメントを投稿

<< ホーム