PHPObjectとは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードに紹介した「AMFPHP」と同様、オープンソースのFlash Remotingによる通信でき、FLASHとの連動で、POSTやXML Getで値を渡して通信して普通にRPCな感じパッケージです。
Flash Remotingというものは、HTTP経由でGETパラメータやXMLによりデータを送受信する手段はFlashの中に、Webサーバーと通信するための手法です。送受信されるデータのパースを行う際に煩雑な手順が必要ですから、ちょっと不便な感じですから、Macromedia社(現在のAdobe)からFlash Remotingと呼ばれる機構が提供されています。
Flash Remotingでは,独自のAMF(Action Message Format)というSOAPを基盤とした通信プロトコルを用いて通信を行い,バイナリ形式でのデータ送受信はゲートウエイにより自動的に処理されます。これにより,サーバー側のアプリケーションのリソースをFlashのActionScriptから直接リモート・サービスとして利用することが可能となります。
PHPObjectは,LGPLライセンスのもとにオープンソースで開発されており,有志の手によりマルチバイト文字(UTF-8エンコーディング)も使用可能となっています。
【利用の流れ】 ※PHPObjectには,2種類のサンプルが含まれている
・クライアント
1.Adobe Extension Manager をダウンロードしてインストールします。
2.PHPObject.mxpをAdobe Extension Manager を通してインストールします。
・サーバ
1.Gateway.phpを設置します。
これ経由で、RPCします。Classのディレクトリーを設定すれば
そのクラスがFLASHからリモートで呼べます。
例)メンバー情報を取得するクラスを設置する
- class Member extends Base {
- private $member;
- public function __construct () {
- parent::__construct();
- error_log( __FUNCTION__ );
- $this->member = DB_Factory::create( ‘member’ );
- }
- }
- private function get() {
- $this->member->addWhere(’ status = ? ‘, 1);
- return $this->member->getAll(0, 5);
- }
FLASH Action Scriptから:
- import com.ghostwire.phpobject.*;
- PHPObject.defaultGatewayKey = “secret”;
- PHPObject.defaultGatewayUrl = “http://DOMAIN/flash/Gateway.php”;
- PHPObject.enableMultiByte = true;
- var member = new PHPObject(’Member’);
- member.get( );
- member.onResult = function(result) {
- trace(result[0]['name']);
- trace(result[1]['name']);
- };
RPCのセキュリティの面では、気をつけて動作させてください。
Posted on Tuesday, 25th August 2009 by admin
Tags: ActionScript, Flash, PHP, PHPObject, RPC, オープンソース
Posted in Flash Project, PHP | Comments (3) | 2,128 views

August 28th, 2009 at 4:46 pm
[...] 「SabreAMF」とは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードのAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFというフォーマットに従って通信を行うPHPライブラリです(実はPHPObject: PHPとFlashのActionScript連携パッケージも同じ機能か)。 [...]
August 31st, 2009 at 10:33 pm
[...] http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html [...]
September 30th, 2009 at 9:03 pm
[...] MFのメリットは.NETのメソッドを直接呼び出せます。この前に紹介した「PHPObject: PHPとFlashのActionScript連携パッケージ」や「SabreAMF: FlexをPHP5と連携させるフレームワーク」などはPHPからAMFの [...]