php ArrayCollection to flex绑定类--flex arrayCollection对应php的数据类型--Zend_Amf与phpamf差别
最近研究flex中ArrayCollecion绑定类在php中的映射,走了很多弯路,再此记录一下,避免有人重蹈覆辙
flex的arrayCollection 对象没有直接对应Php的类型 ;
如果php要直接给flex传递 arrayCollection类型,需要通过Zend_Amf ,
新建这样一个类:
class ArrayCollection {
public function getASClassName()
{
return 'flex.messaging.io.ArrayCollection';
}
var $source = array();
function ArrayCollection()
{
$this->source = array();
}
}
$a = array ("A","B","C");
$myArrayCollection = ArrayCollecion();
$myArrayCollection->source = $a ;
retrun $myArrayCollection ; // $myArrayCollection 会被flex识别为arrayCollection 类型
在Zend_Amf 1.12.6 ,php5.3.27 ,flex4.6 测试成功;
使用phpamf 2.11 测试,传输这个类 flex识别为 mx.utils.objectProxy;
使用Zend_Amf 的Zend_Amf_Value_Messaging_ArrayCollection类对象,Flex能识别为arrayCollection类型,但是数组值总是无法成功传递,不知道为什么