首先,我們先寫好一個叫HelloWorld.php的php程式…原始碼如下
存檔後要切記,這個HelloWorld.php要放在amfphp/service底下才算活在amfphp中…要不然,你會無法使用它
class HelloWorld { //注:class的HelloWorld要跟你存檔的檔名一樣
function Say ($message) {
return '回:' . $message;
}
}
?>
放好後,可以先做測試,你可以連上你amfphp的browser,你會看到在左手邊的那一個框中會出現你這個叫HelloWorld的東西,如果沒出現,那就是你的程式沒放在amfphp/service底下
如果有看到,就點它一下,你就會在右手邊看到這支程式的狀況,你可以點到test的頁籤,會看到一個叫Say的東東,沒錯,這個就是上面HelloWorld.php的function Say()
而在底下會看到一個叫message接著一個輸入框的,也沒錯,這東西就是function Say()中要傳的$message…接著你就可以在文字框中輸入值,再按下Call的按鈕,你就會看到底下的result會出現回應值
如圖
===
接下來就可以測試flash的connect了(註:flash中無論flash的檔名跟as的檔名可以不用跟HelloWorld.php一樣,這此我只是方便而已)
讓我們先使用flash CS3來開啟一個叫HelloWorld的as檔,使用actionscript3的方式
接著,編寫下列的程式到HelloWorld.as中(我是參考http://blog.raienet.com/435)
package {
import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.net.Responder;
public class HelloWorld extends MovieClip {
public var nc:NetConnection;
public var res:Responder;
public function HelloWorld() {
nc = new NetConnection();
res = new Responder(onResult, onFault);
nc.connect("http://webpath/amfphp_trust/gateway.php");
nc.call("HelloWorld.Say", res, "HelloWorld!");
}
private function onFault(responds:Object):void {
for (var i in responds) {
trace(responds[i]);
}
}
private function onResult(responds:Object):void {
trace(responds);
}
}
}
接著,再新增一個flash actionscrpit 3的HelloWorld.fla,然後在設定連接的文件(如圖)
然後就可以使用Ctrl+Enter來測試場景,如果你一切都設定正常的話,應該會在輸出視窗看到跟amfphp/browser測試一樣的訊息(如圖)
這樣,就結束了入門程式
沒有留言:
張貼留言