AMFPHPとは、PHPで動作するオープンソースの Flash Remotingサーバである。インストールとか設定とかが簡単で、AMFPHPのサービスブラウザも便利だ。

AMF(「Action Message Format」の略称)とは、ActionScript で使用されるメッセージを交換するためのフォーマットということでです。AMF ではサーバーとクライアントの通信をバイナリデータで行なうため、従来のようなテキストデーターでのやり取りだけでなく、オブジェクトデーターの交換も可能になります。

今回のサンプルはFlexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、データ交換の流れを説明してみます。

1)、AMFPHPホームページをダウンロードする:http://www.amfphp.org

2)、ダウンロードしたAMFPHPファイルをウェブサーバの配下に展開する

3)、展開したフォルダをブラウザしてみる。 たとえば、ローカルウェブサーバの場合、http://localhost/your_directory/のようなURLでアクセスする、your_directoryはステプ2のフォルダです。

4)、「gateway.php」というファイルを呼んでみてAMFPHPのインストールが成功かどうかの確認

5)、MySQLサーバのインストールとデータベースの作成(具体的な手順ここは説明しません)

6)、「FlexAMFPHP.php」ファイルを作成して、以下のソースをコピーする

Download: FlexAMFPHP.php
  1. <?php
  2.  
  3. class FlexAMFPHP {
  4.  
  5.     /**
  6.      * dummy method that can be used for testing communication between Flex and AMFPHP
  7.      * @returns a string saying ‘Connected to AMFPHP!’
  8.      */
  9.     function communicationTest()
  10.     {
  11.         returnConnected to AMFPHP!’;
  12.     }
  13.  
  14.     /**
  15.      * another dummy method that can be used for testing communication between Flex and AMFPHP
  16.      * @returns a string saying ‘Another method is checked!’
  17.      */ 
  18.     function checkAnotherMethod()
  19.     {
  20.         returnAnother method is checked!’;
  21.     } 
  22. }
  23.  
  24. ?>

7)、サーバのセキュリティ設定より、crossdomain.xmlを必要かもしれない

Download: crossdomain.xml
  1. <?xml version=”1.0encoding=”UTF-8?>
  2. <!DOCTYPE cross-domain-policy SYSTEMhttp://www.macromedia.com/xml/dtds/cross-domain-policy.dtd>
  3. <cross-domain-policy>
  4.    <allow-access-from domain=”*” />
  5. </cross-domain-policy>

8)、それ以外は下記の二つのクラスを準備する

Download: FlexAMFPHP.php
  1. <?php
  2. class Team {
  3. public $id;
  4. public $title;
  5. public $league;
  6. var $_explicitType = “org.zgflex.Team”; // represents a class package path in ActionScript
  7.  
  8. }
  9. ?>
  10.  
  11. <?php
  12. class Player {
  13. public $id;
  14. public $name;
  15. public $team_id;
  16. public $team_title;
  17. public $team_league;
  18. public $position_id;
  19. public $position_title;
  20. var $_explicitType = “org.zgflex.Player”;
  21.  
  22. }
  23. ?>

すべてプロジェクトソースはここにダウンロード、もっと詳しい情報はここに参考してください。

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

Posted on Saturday, 29th November 2008 by admin

Tags: , , , , ,
Posted in Flex | Comments (3) | 5,240 views

3 Responses to “Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコード”

  1. PHPObject: PHPとFlashのActionScript連携パッケージ | DigiTechLog Dot Com Says:

    [...] PHPObjectとは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードに紹介した「AMFPHP」と同様、オープンソースのFlash Remotingによる通信でき、FLASHとの連動 [...]

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

    [...] 「SabreAMF」とは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードのAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFという [...]

  3. CakeAMFPHP = CakePHP + AMFPHP? | DigiTechLog Dot Com Says:

    [...] Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードで紹介した「AMFPHP」 と  CakePHP: PHP用のWebアプリケーションを効率よく作成するためオープンソー [...]

Leave a Reply