我使用NetConnection
类来建立与amfPHP的连接。这个类有一个call()方法,它接收...rest
作为最后一个参数,它将是发送给PHP的值。
我想要的是编写一个Proxy类,它将接收将对PHP进行的调用,而这个Proxy类将调用而不是我的DAO。现在,我的问题是,为了拥有NetConnection.call()
的代理,我需要接收...rest
参数并将其原样传递给NetConnection。但是会发生的是我的函数将...rest
转换为数组,最后PHP只接收1个Array参数而不是大量的参数。假设我没有PHP上的代理来处理这个问题,我如何确保我的...rest
参数将保留为...rest
另一个函数?感谢。
答案 0 :(得分:1)
因此...rest
最终会获取剩余的所有参数,并从中创建一个名为rest的数组。如果你想用一个参数数组调用一个函数,而不是一个一个,那么apply method on Function就是你要找的。我不熟悉NetConnection,但这是一个例子
public function proxy(command:String, responder:Responder, ... args):void{
var netConnection:NetConnection = new NetConnection();
var argsToApply:Array = [command,responder];
argsToApply = argsToApply.concat(args); //Forms an array of all the arguments in order
netConnection.call.apply(null,argsToApply);
}
形成所有参数的单个数组,这样apply可以与call方法一起使用。