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」ファイルを作成して、以下のソースをコピーする
- <?php
- class FlexAMFPHP {
- /**
- * dummy method that can be used for testing communication between Flex and AMFPHP
- * @returns a string saying ‘Connected to AMFPHP!’
- */
- function communicationTest()
- {
- return ‘Connected to AMFPHP!’;
- }
- /**
- * another dummy method that can be used for testing communication between Flex and AMFPHP
- * @returns a string saying ‘Another method is checked!’
- */
- function checkAnotherMethod()
- {
- return ‘Another method is checked!’;
- }
- }
- ?>
7)、サーバのセキュリティ設定より、crossdomain.xmlを必要かもしれない
- <?xml version=”1.0″ encoding=”UTF-8″?>
- <!DOCTYPE cross-domain-policy SYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>
- <cross-domain-policy>
- <allow-access-from domain=”*” />
- </cross-domain-policy>
8)、それ以外は下記の二つのクラスを準備する
- <?php
- class Team {
- public $id;
- public $title;
- public $league;
- var $_explicitType = “org.zgflex.Team”; // represents a class package path in ActionScript
- }
- ?>
- <?php
- class Player {
- public $id;
- public $name;
- public $team_id;
- public $team_title;
- public $team_league;
- public $position_id;
- public $position_title;
- var $_explicitType = “org.zgflex.Player”;
- }
- ?>
すべてプロジェクトソースはここにダウンロード、もっと詳しい情報はここに参考してください。
Posted on Saturday, 29th November 2008 by admin
Tags: ActionScript, AMF, AMFPHP, Flex, MySQL, PHP
Posted in Flex | Comments (3) | 5,240 views

August 25th, 2009 at 8:35 pm
[...] PHPObjectとは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードに紹介した「AMFPHP」と同様、オープンソースのFlash Remotingによる通信でき、FLASHとの連動 [...]
August 28th, 2009 at 4:42 pm
[...] 「SabreAMF」とは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードのAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFという [...]
September 15th, 2009 at 3:55 pm
[...] Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードで紹介した「AMFPHP」 と CakePHP: PHP用のWebアプリケーションを効率よく作成するためオープンソー [...]