0

我正在使用 Zend AMF 将我的远程对象发送到 Flex。

我已经定义了一个Constant类并创建了getASClassName()方法。然后我在 flex 中创建了 Action 脚本类。

对象发送成功,但它们Objects在 Flex 中被反序列化为泛型而不是特定的。

编辑:在 Flex 的网络监视器上,我可以看到 AMF 值设置为com.my.project.valueobjects.Constant. 虽然来自event.resultcontains的数组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
        )
4

1 回答 1

0

Flex/PHP 远程处理领域的另一个自我回答。

解决方案非常简单——我需要在 PHP 端进行更改com.my.project.valueobjects.ConstantConstant这就是一切。

希望这对将来的某人有所帮助。

于 2012-03-05T03:26:52.090 回答