2010-01-01 4 views
1

J'ai un petit problème pour comprendre les objets de valeur dans Flex ... J'essaie d'obtenir des données de PHP/MySQL et de les envoyer à Flex, mais je suis coincé dans certains (évidemment) les problèmes de base ...Aide pour comprendre l'utilisation des objets de valeur dans Flex

Disons que mon objet dans Flex ressemblerait à ceci:

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; 
    } 
} 

dans mon cas, personDetails est un tableau, et en théorie, il pourrait être un autre objet ... Mais est-il vraiment nécessaire d'en faire un object? Je n'ai pas l'intention d'utiliser ces données ailleurs que dans ma classe VOPerson. C'est un tableau associatif, et je peux facilement le transformer en un autre objet, mais il y aura beaucoup de situations similaires dans mon application, donc je voudrais éviter de faire des objets inutiles (valeur) si ce n'est pas nécessaire ...

De toute façon, n'importe quel conseil/indice/lien sur mon problème serait vraiment apprécié! :)
Merci beaucoup!

Répondre

1

Je ne suis pas aussi familier avec la sérialisation PHP/Flex que je le suis avec Java/Flex, mais je crois que les mêmes principes vont tenir. Si personDetails est un tableau de primitives, il sera sérialisé en tant que tel par Flex. Si personDetails est un type que Flex ne sait pas sérialiser (c'est-à-dire que vous ne l'avez pas défini comme RemoteClass), il sera converti en objet anonyme.

Si vous essayez d'empêcher personDetails dans votre code PHP d'être sérialisé à Flex en premier lieu, cela pourrait être plus compliqué. Je sais que Flex identifie les champs sérialisables dans Java en recherchant une paire getter/setter publique, de sorte que vous pouvez empêcher la sérialisation en n'exposant simplement pas un getter et un setter. Il pourrait y avoir un truc similaire que vous pouvez faire en PHP.

+0

Merci pour cette grande information! Juste pour demander, est-il nécessaire de sérialiser personDetails dans mon exemple, ou est-ce OK pour aller avec des primitives? Comme je l'ai mentionné, personDetails n'est rien d'autre qu'un simple tableau associatif et il ne sera utilisé que comme une partie d'une classe de personne, je ne l'utiliserai pas comme une classe/objet séparé ... Merci! – errata

+0

Le seul avantage de mettre personDetails dans sa propre classe serait si vous voulez lui ajouter des méthodes d'instance ou le passer comme un paramètre typé à une méthode. Si vous n'avez pas besoin de cette fonctionnalité, le conserver comme un tableau de primitives serait moins de travail. –

+0

Merci beaucoup! :) – errata

Questions connexes