我正在使用Zend AMF将我的远程对象发送到Flex。
我已经定义了Constant
类并创建了getASClassName()
方法。然后我在flex中创建了Action脚本类。
对象发送成功,但它们在Flex中反序列化为通用Objects
而不是特定的。
编辑:在Flex中的网络监视器上,我可以看到AMF值设置为com.my.project.valueobjects.Constant
。虽然event.result
中的数组包含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
)
答案 0 :(得分:0)
Flex / PHP远程领域的另一个自我回答。
解决方案非常简单 - 我需要在PHP端将com.my.project.valueobjects.Constant
更改为Constant
,这就是一切。
希望这有助于将来。