我正在使用 Zend AMF 将我的远程对象发送到 Flex。
我已经定义了一个Constant
类并创建了getASClassName()
方法。然后我在 flex 中创建了 Action 脚本类。
对象发送成功,但它们Objects
在 Flex 中被反序列化为泛型而不是特定的。
编辑:在 Flex 的网络监视器上,我可以看到 AMF 值设置为com.my.project.valueobjects.Constant
. 虽然来自event.result
contains的数组Objects
。
我究竟做错了什么?
类的php声明:
<?php
namespace Project\Entity;
class Constant
{
public $id;
public $name;
public $description;
public $value;
public function getASClassName(){
return 'com.my.project.valueobjects.Constant';
}
}
flex中的类定义:
package com.my.project.valueobjects{
[Bindable]
[RemoteClass(alias="Constant")]
public class Constant{
public var id:Number;
public var name:String;
public var description:String;
public var value:String;
}
php中处理amf的部分代码:
$server = new Zend_Amf_Server();
$server = $server->setClass("AmfService");
$server->setClassMap("com.my.project.valueobjects.Constant", "Constant");
来自 php 的对象数组(使用 转储print_r
):
[04-Mar-2012 14:23:08] Array
(
[0] => Project\Entity\Constant Object
(
[id] => 1
[name] => name
[description] => desc
[value] => 5
[_explicitType] => com.my.project.valueobjects.Constant
)