[心得] 與PHP溝通的另一種方法:AMFPHP
最近看到了很多有關於FLASH與PHP溝通的討論
在這裡來分享另一種方法:AMFPHP
不知道有沒有人跟我有一樣的感覺
覺得去load .php並不是很直接,而且接收回來的資料都是字串
使用起來還需要先轉型,若是能直接回傳Object 或 Array 是不是方便多了?
後來在我接觸AMFPHP之後,我馬上就習慣他的用法
當然這也是因人而異,有鑑於版上關於這方面的討論比較少
我想要分享我的心得給大家,提供另一個方法
或許,你比較能接受這樣的方式也說不定 XD
也希望有更多的高手能分享更多的心得
一、簡介:
http://www.amfphp.org/
AMFPHP是個PHP的RPC TOOLKIT,主要是能讓你使用PHP就像呼叫一個外部的
FUNCTION一樣。
二、環境與安裝
我用的是AMFPHP 1.2 + FLASH CS3 目前有AMFPHP1.9 beta
所需檔案:
AMFPHP:http://sourceforge.net/project/showfiles.php?group_id=72483#files
如果是用FLASH MX 的話,請下載Flash Remoting Component
http://www.adobe.com/products/flashremoting/downloads/components/
安裝的方試很簡單,將壓縮檔解壓縮後放到你的空間上即可
然後試著去連接GATEWAY.PHP
例: http://www.myspace.tw/gateway.php
成功的話你會看到這樣的畫面:
http://www.bongiovi.tw/amfphp.png

三、PHP Services
在AMFPHP的目錄下,會有一個Services 的資料夾
以存放我們所需要用到的SERVICE,也就是我們需要PHP提供的服務
這些Service的寫法如下
HelloWorld.php :
<?php
class HelloWorld {
function HelloWorld(){
$this->methodTable = array(
"sayHello" => array(
"description" => "Return Hello",
"access" => "remote",
"arguments" => array()
)
);
}
function sayHello($name){
$str = $name . ", i'm not going to say HelloWorld anymore !";
return $str;
}
}
?>
四、ActionScript
在FLASH這邊則是用NetConnection的方試來溝通PHP
範例檔在此:http://www.bongiovi.tw/others/amfphp.fla
使用前請先設定 _gateway 到你gateway.php 的位置
設定完執行就可以看到結果,以上就是AMFPHP一個最簡單的範例,
其他的還請高手補充 XDXD
五、心得
其實用起來最方便的就像先前提到的,感覺就像是叫外部的function
而且回傳的資料可以是五花八門的,不管是string number 或是array
甚至也可以回傳資料庫的query,回傳回來為RecordSet,但在CS3取消
RecordSet,但是也只需要在PHP端將query結果用mysql_fetch_object
取出傳回即可,用起來相當方便,尤其在大量資訊時,就不用在轉換
一次資料。
http://www.bongiovi.tw
這是我的個人網頁,裡面用到的是FLASH CS3 + AMFPHP + MySQL
提供各位一個參考,也請各位多多指教。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.60.61
推
09/20 00:32, , 1F
09/20 00:32, 1F
推
09/20 14:06, , 2F
09/20 14:06, 2F
推
09/23 01:27, , 3F
09/23 01:27, 3F
Flash 近期熱門文章
PTT數位生活區 即時熱門文章