作者gargouille (lol)
看板Flash
标题[心得] 与PHP沟通的另一种方法:AMFPHP
时间Thu Sep 20 00:28:21 2007
最近看到了很多有关於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
1F:推 cjcat2266:推网站~设计感超赞 :) 09/20 00:32
2F:推 GODSIZE:推阿 好特别的使用方法! 09/20 14:06
3F:推 zx7r:nice!! 09/23 01:27