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からリモートで呼べます。

例)メンバー情報を取得するクラスを設置する

  1. class Member extends Base {
  2. private $member;
  3. public function __construct () {
  4. parent::__construct();
  5. error_log( __FUNCTION__ );
  6. $this->member = DB_Factory::create(member);
  7. }
  8. }
  9.  
  10. private function get() {
  11. $this->member->addWhere(status = ? ‘, 1);
  12. return $this->member->getAll(0, 5);
  13. }

FLASH Action Scriptから:

  1. import com.ghostwire.phpobject.*;
  2. PHPObject.defaultGatewayKey = “secret”;
  3. PHPObject.defaultGatewayUrl = “http://DOMAIN/flash/Gateway.php”;
  4. PHPObject.enableMultiByte = true;
  5. var member = new PHPObject(Member);
  6. member.get( );
  7. member.onResult = function(result) {
  8. trace(result[0]['name']);
  9. trace(result[1]['name']);
  10. };

RPCのセキュリティの面では、気をつけて動作させてください。

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted on Tuesday, 25th August 2009 by admin

Tags: , , , , ,
Posted in Flash Project, PHP | Comments (3) | 2,128 views

3 Responses to “PHPObject: PHPとFlashのActionScript連携パッケージ”

  1. SabreAMF: FlexをPHP5と連携させるフレームワーク | DigiTechLog Dot Com Says:

    [...] 「SabreAMF」とは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードのAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFというフォーマットに従って通信を行うPHPライブラリです(実はPHPObject: PHPとFlashのActionScript連携パッケージも同じ機能か)。 [...]

  2. Flash・FlexとPHP連携ライブラリ2点 « First Brand System Division Says:

    [...] http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html [...]

  3. FluorineFx: Flexと.NET間でAMF通信できるライブラリ | DigiTechLog Dot Com Says:

    [...] MFのメリットは.NETのメソッドを直接呼び出せます。この前に紹介した「PHPObject: PHPとFlashのActionScript連携パッケージ」や「SabreAMF: FlexをPHP5と連携させるフレームワーク」などはPHPからAMFの [...]

Leave a Reply