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 とする)
Flex側

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()"/>

ラベル: Flex

0 件のコメント:
コメントを投稿
<< ホーム