[转]ZendAMF使用

今天尝试了一下zendamf,过程中遇到了一点错误,在此记录下来:
安装:zend framework里面好像包含zendamf的所以如果使用的是zend framework就可以不用下载了(ZendServer\share\ZendFramework\library\Zend\Amf)。
如果是另外下载的将解压文件里面的library文件夹拷贝到服务器上,然后设置php.ini里面的配置路径也可以使用ini_set函数。我使用的是 zend studio 7, 直接在项目->属性里面在PHP Include Path添加的。安装ok后就可以使用了:
新建amf.php和HelloAmf.php文件
HelloAmf.php的内容:
<?php
class HelloAmf
{
function say($msg)
{
return "Zendamf: $msg";
}
}
?>
amf.php的内容:
<?php
include 'Zend/Amf/Server.php';
include 'HelloAmf.php';

$server = new Zend_Amf_Server();
$server -> setClass('HelloAmf');
echo $server -> handle();
?>
打开amf.php文件的时候让下载该页面。问题出在最后一句的echo,此时去掉echo 结果显示:Zend Amf Endpoint.
好了php端的工作完成了。下面是flash端的:
我使用的flash cs3,在里面新建amf.fla文件和ZendAmfConn.as文件,然后关联文档类。
ZendAmfConn.as里面的内容为:
package
{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.Responder;

public class ZendAmfConn extends Sprite
{
private var gateWay:String = 'http://localhost/ria/amf.php';
private var conn:NetConnection = new NetConnection();
private var rsp:Responder = new Responder(ok, onfallt);
public function ZendAmfConn()
{
conn.connect(gateWay);
conn.call("HelloAmf.say", rsp, 'PHP/Flash');
}

private function onfallt(fault:Object):void
{
trace ("Error: " + String(fault));
}
private function ok(res:Object):void
{
trace(String(res));
}
}
}
然后ctrl+enter测试,没有任何反应。现在我们回到amf.php里在最后一句加上原来的echo,再测试一下就好了,测试结果:Zendamf: PHP/Flash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值