2010-01-01 2 views
1

У меня есть небольшая проблема в понимании объектов Value в Flex ... Я пытаюсь получить некоторые данные из PHP/MySQL и отправить их в Flex, но я застрял в некоторых (очевидно) основные проблемы ...Помогите с пониманием использования объектов Value в Flex

Давайте предположим, что мой объект в Flex будет выглядеть следующим образом:

package some.package.VO { 

    [RemoteClass(alias="VOPerson")] 

    [Bindable] 
    public class VOPerson { 
     public var personID:int; 
     public var firstName:String; 
     public var lastName:String; 
     public var personDetails:Array; 
    } 
} 

в моем случае personDetails является массив, и в теории, это может быть какой-то другой объект ... Но действительно ли нужно сделать это object? Я не собираюсь использовать эти данные нигде, кроме моего класса VOPerson. Это некоторый ассоциативный массив, и я могу легко преобразовать его в другой объект, но в моем приложении будет много подобных ситуаций, поэтому я бы хотел избежать ненужных (значений) объектов, если в этом нет необходимости ...

В любом случае, любые советы/подсказки/ссылки о моей проблеме будут действительно оценены! :)
спасибо!

ответ

1

Я не так знаком с сериализацией PHP/Flex, поскольку я с Java/Flex, но считаю, что те же принципы сохранятся. Если personDetails представляет собой массив примитивов, он будет сериализован как таковой Flex. Если personDetails - это тип, который Flex не знает, как сериализовать (т. Е. Вы не определили его как RemoteClass), он будет преобразован в анонимный объект.

Если вы пытаетесь не допустить, чтобы personDetails в вашем PHP-коде был сериализован в Flex, это может быть более сложным. Я знаю, что Flex идентифицирует сериализуемые поля в Java, ища общедоступную пару getter/setter, поэтому вы можете предотвратить сериализацию, просто не подвергая геттер и сеттер. Там может быть какой-то подобный трюк, который вы можете сделать в PHP.

+0

Спасибо за эту замечательную информацию! Просто спросить, есть ли необходимость в сериализации personDetails в моем примере, или это нормально, чтобы идти с примитивами? Как я уже упоминал, personDetails - это не что иное, как простой ассоциативный массив, и он будет использоваться только как часть класса person, я не буду использовать его как отдельный класс/объект ... Спасибо! – errata

+0

Единственным преимуществом для размещения personDetails в своем классе было бы, если вы хотите добавить к нему методы экземпляра или передать его как типизированный параметр в метод. Если вам не нужна эта функциональность, сохранение ее как массива примитивов будет меньше. –

+0

Спасибо вам большое! :) – errata