*afmphp [#pa0872d1]

**afmphpとは? [#c4c9dac2]
FlashとPHPの連携は、今までは以下のような感じでした。
-LoadVarsオブジェクトを使用したHTTP通信
-XMLオブジェクトを使用したHTTP通信
&br;
サーバとクライアント間を容易に通信できる仕組みがafmphpです。

**Flash側の準備(FlashRemotingコンポーネントのインストール) [#ved4f94f]

***flashremoting_components_flash8_jp.msiをダウンロードし、msiファイルを実行する [#r6d6d7ff]
参照 : http://www.adobe.com/jp/products/flashremoting/downloads/components/



**サーバ側の準備(AMFPHPのインストール) [#p6b74a31]

***amfphp-1.2.6.zipをダウンロードし、解凍したものを以下のフォルダ構成にしサーバにアップする [#g286db2d]

 ドキュメントルート
 |
 |-- amfphp
 |   |
 |   |-- amf-core
 |   |-- browser
 |   |-- services
 |   |

***動作確認 [#w02a55a8]
以下の画面が表示されればインストール成功
 http://localhost/amfphp/browser/index.html


**サンプルの作成 [#xe901b0e]

***HelloWorld.phpを作成する [#b488fed3]
 ドキュメントルート
 |
 |-- amfphp
 |   |
 |   |-- amf-core
 |   |-- browser
 |   |-- services
 |   |   |-- HelloWorld.php

 <?php
 /**
  * HelloWorldクラス
  * 
  * @access public
  * @package 
  * @author 
  * @version 
  */
 class HelloWorld
 {
 
     /**
      * AMFPHPのテーブル設定
      * 
      * @access public
      * @return
      */
     function HelloWorld()
     {
 
         $this->methodTable = array
         (
             "display" => array
             (
                 "access" => "remote",
                 "description" => "文字列を返します"
             )
         );
     }
 
     /**
      * flashから呼ばれる関数
      * 
      * @access public
      * @return
      */    
     function display($string, $name)
     {
         return 'Hello world : ' . $name . ' ' . $string;
     }
 }

***HelloWorld.flaを作成する [#d30c0138]

 import mx.remoting.*;
 import mx.rpc.*;
 import mx.remoting.debug.NetDebug;
 
 //URL
 var gatewayUrl:String = "http://localhost/amfphp/gateway.php";
 
 //デバッグの初期化
 NetDebug.initialize();
 
 //PHPのHelloWorldクラスを呼ぶ
 var _service:Service = new Service(gatewayUrl, null, 'HelloWorld', null , null);
 var pc:PendingCall = _service.display("Hello!", "Bob!!");
 
 pc.responder = new RelayResponder(this, "handleResult", "handleError");
 
 function handleResult(event:ResultEvent)
 {
 	trace(event.result);
 }
 
 function handleError(event:FaultEvent)
 {
 	trace("エラー");
 }

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS