You can subscribe to this list here.
2003 |
Jan
(33) |
Feb
(69) |
Mar
(211) |
Apr
(124) |
May
(133) |
Jun
(172) |
Jul
(79) |
Aug
(68) |
Sep
(67) |
Oct
(41) |
Nov
(50) |
Dec
(55) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(33) |
Mar
(20) |
Apr
(39) |
May
(29) |
Jun
(12) |
Jul
(37) |
Aug
(17) |
Sep
(33) |
Oct
(23) |
Nov
(55) |
Dec
(263) |
2005 |
Jan
(214) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(24) |
Jun
(36) |
Jul
(53) |
Aug
(46) |
Sep
(33) |
Oct
(20) |
Nov
(12) |
Dec
(70) |
2006 |
Jan
(26) |
Feb
(17) |
Mar
(70) |
Apr
(36) |
May
(44) |
Jun
(21) |
Jul
(14) |
Aug
(12) |
Sep
(8) |
Oct
(17) |
Nov
(12) |
Dec
(54) |
2007 |
Jan
(44) |
Feb
(14) |
Mar
(15) |
Apr
(31) |
May
(61) |
Jun
(8) |
Jul
(37) |
Aug
(8) |
Sep
(31) |
Oct
(30) |
Nov
(19) |
Dec
(58) |
2008 |
Jan
(31) |
Feb
(31) |
Mar
(21) |
Apr
(30) |
May
(12) |
Jun
(5) |
Jul
(69) |
Aug
(1) |
Sep
(42) |
Oct
(7) |
Nov
(78) |
Dec
(5) |
2009 |
Jan
(2) |
Feb
(1) |
Mar
(16) |
Apr
(13) |
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
(4) |
Oct
(6) |
Nov
(1) |
Dec
|
2010 |
Jan
(6) |
Feb
(15) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2011 |
Jan
(4) |
Feb
|
Mar
|
Apr
(11) |
May
(3) |
Jun
(3) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(2) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Greg D. <gre...@gm...> - 2011-04-26 02:56:23
|
the announcement was over a year ago: http://wadearnold.com/blog/flash/amfphp/passing-the-amfphp-torch On Tue, Apr 26, 2011 at 9:56 AM, Dnk <d.k...@gm...> wrote: > > > On 2011-04-25, at 11:55, Antoine Polatouche <an...@ja...> wrote: > > > > > > > Le 25/04/2011 19:30, Jacob Steinberger a écrit : > >> Is this a fork? > > or a fake ? > > > > Nothing here about that: > > http://amfphp.org -> > > http://amfphp.sourceforge.net/ > > > > > > Touché. > > But I would assume Wade is still on this list, and hopefully would speak up > either way. I was looking in the archives for some sort of announcement. > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Dnk <d.k...@gm...> - 2011-04-25 21:56:30
|
On 2011-04-25, at 11:55, Antoine Polatouche <an...@ja...> wrote: > > > Le 25/04/2011 19:30, Jacob Steinberger a écrit : >> Is this a fork? > or a fake ? > > Nothing here about that: > http://amfphp.org -> > http://amfphp.sourceforge.net/ > > Touché. But I would assume Wade is still on this list, and hopefully would speak up either way. I was looking in the archives for some sort of announcement. |
From: Antoine P. <an...@ja...> - 2011-04-25 19:11:05
|
Le 25/04/2011 19:30, Jacob Steinberger a écrit : > Is this a fork? or a fake ? Nothing here about that: http://amfphp.org -> http://amfphp.sourceforge.net/ |
From: Jacob S. <tre...@re...> - 2011-04-25 18:02:56
|
Is this a fork? Jacob On 4/25/2011 12:20 PM, DNK wrote: > Is this list going to be picked up again, or is there another that we > should be joining? Just curious as this update was on a site other than > amfphp.org. > DNK > > From: Ariel Sommeria <ari...@gm... > <mailto:ari...@gm...>> > Reply-To: <amf...@li... > <mailto:amf...@li...>> > Date: Mon, 25 Apr 2011 12:30:48 +0200 > To: <amf...@li... > <mailto:amf...@li...>> > Subject: [amfphp] update on the amfPHP project > > Hi everyone, > this list has been unused for a while, but I thought it might be of > interest to you to know what has been happening with the project. Take a > look. > http://www.silexlabs.org/the-blog/fr/2011/04/state-of-amfphp/ > best, > Ariel Sommeria-Klein > team lead for amfPHP > > > ------------------------------------------------------------------------------ > Fulfilling the Lean Software Promise Lean software platforms are now > widely adopted and the benefits have been demonstrated beyond question. > Learn why your peers are replacing JEE containers with lightweight > application servers - and what you can gain from the move. > http://p.sf.net/sfu/vmware-sfemails_______________________________________________ > amfphp-general mailing list amf...@li... > <mailto:amf...@li...> > https://lists.sourceforge.net/lists/listinfo/amfphp-general > > > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > > > > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general |
From: DNK <d.k...@gm...> - 2011-04-25 17:20:54
|
Is this list going to be picked up again, or is there another that we should be joining? Just curious as this update was on a site other than amfphp.org. DNK From: Ariel Sommeria <ari...@gm...> Reply-To: <amf...@li...> Date: Mon, 25 Apr 2011 12:30:48 +0200 To: <amf...@li...> Subject: [amfphp] update on the amfPHP project Hi everyone, this list has been unused for a while, but I thought it might be of interest to you to know what has been happening with the project. Take a look. http://www.silexlabs.org/the-blog/fr/2011/04/state-of-amfphp/ best, Ariel Sommeria-Klein team lead for amfPHP ---------------------------------------------------------------------------- -- Fulfilling the Lean Software Promise Lean software platforms are now widely adopted and the benefits have been demonstrated beyond question. Learn why your peers are replacing JEE containers with lightweight application servers - and what you can gain from the move. http://p.sf.net/sfu/vmware-sfemails_________________________________________ ______ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general |
From: Ariel S. <ari...@gm...> - 2011-04-25 10:31:16
|
Hi everyone, this list has been unused for a while, but I thought it might be of interest to you to know what has been happening with the project. Take a look. http://www.silexlabs.org/the-blog/fr/2011/04/state-of-amfphp/ best, Ariel Sommeria-Klein team lead for amfPHP |
From: ktt <kes...@ya...> - 2011-01-03 20:14:53
|
thank you for answer! Can I process it with AS3? Online PHP Unserializer process it easily.. http://blog.tanist.co.uk/files/unserialize/index.php Regards, Kestutis --- On Mon, 1/3/11, Evert Pot <ev...@ro...> wrote: > From: Evert Pot <ev...@ro...> > Subject: Re: [amfphp] Deserializing AMF0 with AS3 > To: amf...@li... > Date: Monday, January 3, 2011, 8:39 PM > On 2011-01-03, at 7:33 PM, ktt > wrote: > > > Hello, > > > > I'm using AMFPHP 1.2.5 and trying to deserialize such > a string: > > var str:String = > 'a:5:{i:0;a:3:{s:11:"__responder";N;s:12:"__methodName";s:10:"exportData";s:9:"__service";a:5:{s:3:"log"....... > > But unsuccesfully - tried Sepiroth's deserializer, but > all that i get just a list of commas. > > Is there are way to transform this tring to object? > > That's not AMF0, that's just the output from http://nl2.php.net/manual/en/function.serialize.php > > Evert > ------------------------------------------------------------------------------ > Learn how Oracle Real Application Clusters (RAC) One Node > allows customers > to consolidate database storage, standardize their database > environment, and, > should the need arise, upgrade to a full multi-node Oracle > RAC database > without downtime or disruption > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Evert P. <ev...@ro...> - 2011-01-03 18:56:29
|
On 2011-01-03, at 7:33 PM, ktt wrote: > Hello, > > I'm using AMFPHP 1.2.5 and trying to deserialize such a string: > var str:String = 'a:5:{i:0;a:3:{s:11:"__responder";N;s:12:"__methodName";s:10:"exportData";s:9:"__service";a:5:{s:3:"log"....... > But unsuccesfully - tried Sepiroth's deserializer, but all that i get just a list of commas. > Is there are way to transform this tring to object? That's not AMF0, that's just the output from http://nl2.php.net/manual/en/function.serialize.php Evert |
From: <s....@cm...> - 2011-01-03 18:35:14
|
Vielen Dank für Ihre Email! Ich bin erst wieder am Mittwoch, den 03. Januar 2011 erreichbar. In dringenden Fällen wenden Sie sich bitte an Herrn Hobmeier (w.h...@cm...) oder Herrn Huber (a....@cm...). Mit freundlichen Grüßen Stefan Merkl |
From: ktt <kes...@ya...> - 2011-01-03 18:34:07
|
Hello, I'm using AMFPHP 1.2.5 and trying to deserialize such a string: var str:String = 'a:5:{i:0;a:3:{s:11:"__responder";N;s:12:"__methodName";s:10:"exportData";s:9:"__service";a:5:{s:3:"log"....... But unsuccesfully - tried Sepiroth's deserializer, but all that i get just a list of commas. Is there are way to transform this tring to object? Thank you in advance, Kestutis |
From: ktt <kes...@ya...> - 2010-12-17 22:52:19
|
But it seems is possible to use AMFPHP 1.2.5 with AS3 using AMF0?It seems it is working at least with linked example. --- On Sat, 12/18/10, Ariel Sommeria <ari...@gm...> wrote: From: Ariel Sommeria <ari...@gm...> Subject: Re: [amfphp] Older AMFPHP and AS3 To: amf...@li... Date: Saturday, December 18, 2010, 12:15 AM note the objectEncoding = ObjectEncoding.AMF0; the example uses amf0, so that's why it works with an old amfphp On Fri, Dec 17, 2010 at 9:33 PM, ktt <kes...@ya...> wrote: Thank you for answer! Strangely I was able to test it with the method described here:http://www.oscartrelles.com/archives/as3_flash_remoting_example Of course, default AMF3 was degraded to AMF0.. Maybe it will not work in all cases and remote function calls with AMFPHP 1.2.5?The client would like to keep it, since upgrading to current version may involve significant system changes.. Regards,Kestutis --- On Fri, 12/17/10, Ariel Sommeria <ari...@gm...> wrote: From: Ariel Sommeria <ari...@gm...> Subject: Re: [amfphp] Older AMFPHP and AS3 To: amf...@li... Date: Friday, December 17, 2010, 9:45 PM On Fri, Dec 17, 2010 at 5:01 PM, ktt <kes...@ya...> wrote: Hello, Is it possible to use AMFPHP 1.2.5 with AS3? no. Will it understand remote function calls? Should I use AMFChannel class, or "classic" NetConnection will work? why would you want to use an old version? Regards, Kestutis ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general -----Inline Attachment Follows----- ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d -----Inline Attachment Follows----- _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general -----Inline Attachment Follows----- ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d -----Inline Attachment Follows----- _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general |
From: Ariel S. <ari...@gm...> - 2010-12-17 22:15:51
|
note the objectEncoding = ObjectEncoding.AMF0; the example uses amf0, so that's why it works with an old amfphp On Fri, Dec 17, 2010 at 9:33 PM, ktt <kes...@ya...> wrote: > Thank you for answer! > > Strangely I was able to test it with the method described here: > http://www.oscartrelles.com/archives/as3_flash_remoting_example > > <http://www.oscartrelles.com/archives/as3_flash_remoting_example>Of > course, default AMF3 was degraded to AMF0.. > Maybe it will not work in all cases and remote function calls with AMFPHP > 1.2.5? > The client would like to keep it, since upgrading to current version may > involve > significant system changes.. > > Regards, > Kestutis > > --- On *Fri, 12/17/10, Ariel Sommeria <ari...@gm...>* wrote: > > > From: Ariel Sommeria <ari...@gm...> > Subject: Re: [amfphp] Older AMFPHP and AS3 > To: amf...@li... > Date: Friday, December 17, 2010, 9:45 PM > > > > > On Fri, Dec 17, 2010 at 5:01 PM, ktt <kes...@ya...<http://mc/compose?to=kes...@ya...> > > wrote: > > Hello, > > Is it possible to use AMFPHP 1.2.5 with AS3? > > no. > > Will it understand remote function calls? > Should I use AMFChannel class, or "classic" NetConnection will work? > > why would you want to use an old version? > > Regards, > Kestutis > > > > > > > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > amfphp-general mailing list > amf...@li...<http://mc/compose?to=amf...@li...> > https://lists.sourceforge.net/lists/listinfo/amfphp-general > > > > -----Inline Attachment Follows----- > > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > > -----Inline Attachment Follows----- > > > _______________________________________________ > amfphp-general mailing list > amf...@li...<http://mc/compose?to=amf...@li...> > https://lists.sourceforge.net/lists/listinfo/amfphp-general > > > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > > |
From: ktt <kes...@ya...> - 2010-12-17 20:33:14
|
Thank you for answer! Strangely I was able to test it with the method described here:http://www.oscartrelles.com/archives/as3_flash_remoting_example Of course, default AMF3 was degraded to AMF0..Maybe it will not work in all cases and remote function calls with AMFPHP 1.2.5?The client would like to keep it, since upgrading to current version may involvesignificant system changes.. Regards,Kestutis --- On Fri, 12/17/10, Ariel Sommeria <ari...@gm...> wrote: From: Ariel Sommeria <ari...@gm...> Subject: Re: [amfphp] Older AMFPHP and AS3 To: amf...@li... Date: Friday, December 17, 2010, 9:45 PM On Fri, Dec 17, 2010 at 5:01 PM, ktt <kes...@ya...> wrote: Hello, Is it possible to use AMFPHP 1.2.5 with AS3? no. Will it understand remote function calls? Should I use AMFChannel class, or "classic" NetConnection will work? why would you want to use an old version? Regards, Kestutis ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general -----Inline Attachment Follows----- ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d -----Inline Attachment Follows----- _______________________________________________ amfphp-general mailing list amf...@li... https://lists.sourceforge.net/lists/listinfo/amfphp-general |
From: Ariel S. <ari...@gm...> - 2010-12-17 19:45:57
|
On Fri, Dec 17, 2010 at 5:01 PM, ktt <kes...@ya...> wrote: > Hello, > > Is it possible to use AMFPHP 1.2.5 with AS3? > no. > Will it understand remote function calls? > Should I use AMFChannel class, or "classic" NetConnection will work? > > why would you want to use an old version? > Regards, > Kestutis > > > > > > > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: <s....@cm...> - 2010-12-17 17:15:22
|
Vielen Dank für Ihre Email! Ich bin erst wieder am Mittwoch, den 22. Dezember 2010 erreichbar. In dringenden Fällen wenden Sie sich bitte an Herrn Hobmeier (w.h...@cm...) oder Herrn Huber (a....@cm...). Mit freundlichen Grüßen Stefan Merkl |
From: ktt <kes...@ya...> - 2010-12-17 16:01:56
|
Hello, Is it possible to use AMFPHP 1.2.5 with AS3? Will it understand remote function calls? Should I use AMFChannel class, or "classic" NetConnection will work? Regards, Kestutis |
From: Jacob S. <tre...@re...> - 2010-03-09 17:07:14
|
In the end, ArrayCollections were the easy bit - they're working without a problem. The issue was the 'Person' vo, the same code in two applications - one conversion works, the other doesn't. The biggest problem I see is there's no debugging on the Flex side as to why a VO *isn't* being converted. Obviously this isn't a problem with amfphp, but it is a problem with Flex. Jacob Quoting Rich Rodecker <fla...@gm...>: > Make sure that your VO classes are available before generating the > ArrayCollection. MAke sure your VO class in Flex is available before > loading the data (you need to reference the Person class somewhere in your > app so that the compiler will include it in the swf). > > Maybe this will help? > http://www.visible-form.com/blog/flex-amfphp-mapping-value-objects/ > > > > On Tue, Mar 2, 2010 at 1:14 AM, Darren Smith <daz...@gm...> wrote: > >> Hi Jacob, >> >> A comment on Wade's blog suggests that ArrayObjects are also >> automatically converted to ArrayCollections so this might be worth a try: >> >> $this_person = new Person(); >> $this_person->name = 'someName'; >> $child_array = array(); >> $child_array[] = new Person(); >> $child_array[] = new Person(); >> $this_person->children = new ArrayObject($child_array); >> >> See: >> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection#comment-530 >> >> Cheers, >> Darren. >> >> On 2/03/2010 4:11 PM, Jacob Steinberger wrote: >> > ArrayCollection was the easy part, to be honest. I have two >> > applications, both contain the same code, on contains a lot of other >> > crap. In the "minimal" program, everything works. In the "full blown" >> > program the ArrayCollections come through, but the Person does not (in >> > effect, I end up with a bunch of Objects with ArrayCollections with >> > Objects). >> > >> > Pulling my hair out over it, but I'm sure it's something stupid somewhere >> ... >> > >> > As far as the RemoteBind for ArrayCollection, >> > flex.messaging.io.ArrayCollection is correct. >> > mx.collections.ArrayCollection is how you import ArrayCollection, but >> > in the definition of ArrayCollection, it has a RemoteBind for the >> > flex.messaging. Seems counter intuitive to rename things like that, >> > but, meh! >> > >> > Jacob >> > >> > Quoting Darren Smith<daz...@gm...>: >> > >> > >> >> Hi Jacob, >> >> >> >> I haven't needed to send ArrayCollections myself (Arrays have always >> >> sufficed) but I think your PHP ArrayCollection has to map exactly to the >> >> Flex version, in particular the 'source' property of an ArrayCollection >> >> object should be set to an Array. Maybe try this: >> >> >> >> php, services/vo/mx/collections: >> >> class ArrayCollection { >> >> var $source; >> >> var $_explicitType = "mx.collections.ArrayCollection"; >> >> } >> >> >> >> And create your 'children' ArrayCollection with: >> >> >> >> var $child_array = array(); >> >> $child_array[] = new Person(); >> >> $child_array[] = new Person(); >> >> var $children = new ArrayCollection(); >> >> $children->source = $child_array; >> >> >> >> It will probably be something like this although I noticed that in the >> >> thread I linked to earlier the '_explicitType' is set to >> >> 'flex.messaging.io.ArrayCollection' and the author claims that this >> >> works for him. >> >> >> >> >> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Object-AMFPHP-1.9-to9594166.html >> >> >> >> Good luck, >> >> Darren. >> >> >> >> On 2/03/2010 3:04 AM, Jacob Steinberger wrote: >> >> >> >>> Flex Builder doesn't like setting event.result to anything other than >> >>> an Object. I assume that's expected. I buried the Person into >> >>> event.result.data, and it cam through as a vo.Person without any >> >>> problems. >> >>> >> >>> It doesn't like my ArrayCollection, but it's progress! >> >>> >> >>> Thanks for the help Darren, >> >>> >> >>> Jacob >> >>> >> >>> Quoting Jacob Steinberger<tre...@re...>: >> >>> >> >>> >> >>> >> >>>> I'll try the simple path, but I appear to have skipped something in my >> >>>> last post. With your previous suggestions, I got the output of the >> >>>> first 'Person' working in PHP, then I went forward with adding the >> >>>> ArrayCollection. That's when I posted the results. The current PHP >> >>>> looks like ... >> >>>> >> >>>> $array = new Person('one', new ArrayCollection(array(new >> >>>> Person('two'), new Person('three')))); >> >>>> >> >>>> ... which hopefully looks better than my previous PHP snippet. >> >>>> >> >>>> Again, I'll try the simple path with just sending a Person with no >> >>>> ArrayCollection and see if that works. >> >>>> >> >>>> Jacob >> >>>> >> >>>> Quoting Darren Smith<daz...@gm...>: >> >>>> >> >>>> >> >>>> >> >>>>> Hi Jacob, >> >>>>> >> >>>>> Personally to simplify things I would initially send back a >> simplified >> >>>>> Person object with no 'children' property (ie. remove the >> >>>>> property from the >> >>>>> class in both AS and PHP) to see if the mapping is working correctly. >> The >> >>>>> reason is that PHP does not have an ArrayCollection type so having >> this as >> >>>>> the type of 'children' on the AS side may be confusing the >> >>>>> mapping. Get this >> >>>>> working first and then move on to the ArrayCollection problem. You >> could >> >>>>> tell if the mapping is working on this simplified Person object >> >>>>> as this code >> >>>>> will throw an error if it's not: >> >>>>> >> >>>>> public function result(data:Object):void { >> >>>>> var thisPerson:Person = data.result; >> >>>>> } >> >>>>> >> >>>>> For the ArrayCollection problem, you can either make the 'children' >> object >> >>>>> of type Array on both the AS and PHP sides or create a custom >> >>>>> ArrayCollection type on the PHP side. Here's an example of this: >> >>>>> >> >>>>> >> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob >> >>>>> ject-AMFPHP-1.9-to9594166.html >> >>>>> >> >>>>> Some more info on AMFPHP and ArrayCollections here: >> >>>>> >> >>>>> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection >> >>>>> >> >>>>> Lastly, this part of your code looks a bit weird: >> >>>>> >> >>>>> $array->children = new Person(); >> >>>>> $array->children->name[] = 'two'; >> >>>>> $array->children->name[] = 'three'; >> >>>>> >> >>>>> 'children' is defined as an ArrayCollection in your AS class but >> you've >> >>>>> assigned a Person object to it here. Also, 'name' is a string but >> you're >> >>>>> treating like an Array. >> >>>>> >> >>>>> I hope this helps. My advice is to start with the simplest >> >>>>> example and then >> >>>>> work from there. >> >>>>> >> >>>>> Cheers, >> >>>>> Darren. >> >>>>> >> >>>>> On 27/2/10 6:35 AM, "Jacob >> >>>>> Steinberger"<tre...@re...> wrote: >> >>>>> >> >>>>> >> >>>>> >> >>>>>> First, apologies for breaking threading. I don't have the email I >> want >> >>>>>> to reply to, available to reply to =\ >> >>>>>> >> >>>>>> Darren, thanks for your comments. My output from PHP now looks like >> thus: >> >>>>>> >> >>>>>> Person Object >> >>>>>> ( >> >>>>>> [name] => one >> >>>>>> [children] => ArrayCollection Object >> >>>>>> ( >> >>>>>> [_explicitType] => mx.collections.ArrayCollection >> >>>>>> [source] => Array >> >>>>>> ( >> >>>>>> [0] => Person Object >> >>>>>> ( >> >>>>>> [name] => two >> >>>>>> [children] => >> >>>>>> [_explicitType] => Person >> >>>>>> ) >> >>>>>> >> >>>>>> [1] => Person Object >> >>>>>> ( >> >>>>>> [name] => three >> >>>>>> [children] => >> >>>>>> [_explicitType] => Person >> >>>>>> ) >> >>>>>> >> >>>>>> ) >> >>>>>> >> >>>>>> ) >> >>>>>> >> >>>>>> [_explicitType] => Person >> >>>>>> ) >> >>>>>> >> >>>>>> It looks pretty good. But when I view it during a debug session >> within >> >>>>>> Flex Builder, it shows up as stock arrays or objects (not as the >> VO). >> >>>>>> Is this the expected result? What test can be done on the data >> inside >> >>>>>> Flex to show that it was converted to Flex's VOs? >> >>>>>> >> >>>>>> I'm familiar with Charles, Wireshark, etc, and the data appears good >> >>>>>> there. But again, when the data gets to Flex, it doesn't seem right. >> >>>>>> >> >>>>>> Jacob >> >>>>>> >> >>>>>> Quoting tre...@re...: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>>> I've searched the internet, read at least a dozen blogs and >> >>>>>>> tried a ton of >> >>>>>>> variations of code to get class mapping to work. None of it >> >>>>>>> does. It seems >> >>>>>>> the vast majority of examples on the internet are code snippets, >> >>>>>>> pieces and >> >>>>>>> fragments - all with comments asking for a full code block because >> the >> >>>>>>> examples aren't complete. >> >>>>>>> >> >>>>>>> I hope this list is the proper place to ask this kind of question >> as I'm >> >>>>>>> at my wits end. I'd like to get this working and post a full >> >>>>>>> example to the >> >>>>>>> internet (even if I don't get indexed) just to have a place to >> >>>>>>> point other >> >>>>>>> people to that are having the same problem. >> >>>>>>> >> >>>>>>> php, services/vo: >> >>>>>>> class Person { >> >>>>>>> public $name; >> >>>>>>> public $children; >> >>>>>>> >> >>>>>>> var $_explicitType="vo.Person"; >> >>>>>>> function Person(){ >> >>>>>>> } >> >>>>>>> } >> >>>>>>> >> >>>>>>> php, services: >> >>>>>>> function test3() { >> >>>>>>> $array = new Person(); >> >>>>>>> $array->name = 'one'; >> >>>>>>> $array->children = new Person(); >> >>>>>>> $array->children->name[] = 'two'; >> >>>>>>> $array->children->name[] = 'three'; >> >>>>>>> #$array['_explicitType'] = 'vo.Person'; >> >>>>>>> #registerClassAlias("vo.Person",Person); >> >>>>>>> return($array); >> >>>>>>> } >> >>>>>>> >> >>>>>>> Person.as: >> >>>>>>> package vo { >> >>>>>>> import mx.collections.ArrayCollection; >> >>>>>>> [Bindable][RemoteClass(alias="vo.Person")] >> >>>>>>> public class Person{ >> >>>>>>> >> >>>>>>> public var name:String; >> >>>>>>> public var children:ArrayCollection; >> >>>>>>> >> >>>>>>> public function Person(_name:String, >> >>>>>>> _children:ArrayCollection = >> >>>>>>> null){ >> >>>>>>> this.name = _name; >> >>>>>>> if(_children != null) >> >>>>>>> this.children = _children; >> >>>>>>> }//end Person constructor >> >>>>>>> >> >>>>>>> }//end Person class >> >>>>>>> >> >>>>>>> }//end package declaration >> >>>>>>> >> >>>>>>> I've tried every combination of _explicitType, registerClassAlias, >> and >> >>>>>>> RemoteClass I've read about. Some sources say you need one, some >> say you >> >>>>>>> need two, one even said you need all three. >> >>>>>>> >> >>>>>>> I'd appreciate any recommendation or pointing me to a working >> >>>>>>> example that >> >>>>>>> I could look at to see how it works for *someone*. >> >>>>>>> >> >>>>>>> Jacob |
From: Rich R. <fla...@gm...> - 2010-03-09 15:33:37
|
Make sure that your VO classes are available before generating the ArrayCollection. MAke sure your VO class in Flex is available before loading the data (you need to reference the Person class somewhere in your app so that the compiler will include it in the swf). Maybe this will help? http://www.visible-form.com/blog/flex-amfphp-mapping-value-objects/ On Tue, Mar 2, 2010 at 1:14 AM, Darren Smith <daz...@gm...> wrote: > Hi Jacob, > > A comment on Wade's blog suggests that ArrayObjects are also > automatically converted to ArrayCollections so this might be worth a try: > > $this_person = new Person(); > $this_person->name = 'someName'; > $child_array = array(); > $child_array[] = new Person(); > $child_array[] = new Person(); > $this_person->children = new ArrayObject($child_array); > > See: > http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection#comment-530 > > Cheers, > Darren. > > On 2/03/2010 4:11 PM, Jacob Steinberger wrote: > > ArrayCollection was the easy part, to be honest. I have two > > applications, both contain the same code, on contains a lot of other > > crap. In the "minimal" program, everything works. In the "full blown" > > program the ArrayCollections come through, but the Person does not (in > > effect, I end up with a bunch of Objects with ArrayCollections with > > Objects). > > > > Pulling my hair out over it, but I'm sure it's something stupid somewhere > ... > > > > As far as the RemoteBind for ArrayCollection, > > flex.messaging.io.ArrayCollection is correct. > > mx.collections.ArrayCollection is how you import ArrayCollection, but > > in the definition of ArrayCollection, it has a RemoteBind for the > > flex.messaging. Seems counter intuitive to rename things like that, > > but, meh! > > > > Jacob > > > > Quoting Darren Smith<daz...@gm...>: > > > > > >> Hi Jacob, > >> > >> I haven't needed to send ArrayCollections myself (Arrays have always > >> sufficed) but I think your PHP ArrayCollection has to map exactly to the > >> Flex version, in particular the 'source' property of an ArrayCollection > >> object should be set to an Array. Maybe try this: > >> > >> php, services/vo/mx/collections: > >> class ArrayCollection { > >> var $source; > >> var $_explicitType = "mx.collections.ArrayCollection"; > >> } > >> > >> And create your 'children' ArrayCollection with: > >> > >> var $child_array = array(); > >> $child_array[] = new Person(); > >> $child_array[] = new Person(); > >> var $children = new ArrayCollection(); > >> $children->source = $child_array; > >> > >> It will probably be something like this although I noticed that in the > >> thread I linked to earlier the '_explicitType' is set to > >> 'flex.messaging.io.ArrayCollection' and the author claims that this > >> works for him. > >> > >> > http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Object-AMFPHP-1.9-to9594166.html > >> > >> Good luck, > >> Darren. > >> > >> On 2/03/2010 3:04 AM, Jacob Steinberger wrote: > >> > >>> Flex Builder doesn't like setting event.result to anything other than > >>> an Object. I assume that's expected. I buried the Person into > >>> event.result.data, and it cam through as a vo.Person without any > >>> problems. > >>> > >>> It doesn't like my ArrayCollection, but it's progress! > >>> > >>> Thanks for the help Darren, > >>> > >>> Jacob > >>> > >>> Quoting Jacob Steinberger<tre...@re...>: > >>> > >>> > >>> > >>>> I'll try the simple path, but I appear to have skipped something in my > >>>> last post. With your previous suggestions, I got the output of the > >>>> first 'Person' working in PHP, then I went forward with adding the > >>>> ArrayCollection. That's when I posted the results. The current PHP > >>>> looks like ... > >>>> > >>>> $array = new Person('one', new ArrayCollection(array(new > >>>> Person('two'), new Person('three')))); > >>>> > >>>> ... which hopefully looks better than my previous PHP snippet. > >>>> > >>>> Again, I'll try the simple path with just sending a Person with no > >>>> ArrayCollection and see if that works. > >>>> > >>>> Jacob > >>>> > >>>> Quoting Darren Smith<daz...@gm...>: > >>>> > >>>> > >>>> > >>>>> Hi Jacob, > >>>>> > >>>>> Personally to simplify things I would initially send back a > simplified > >>>>> Person object with no 'children' property (ie. remove the > >>>>> property from the > >>>>> class in both AS and PHP) to see if the mapping is working correctly. > The > >>>>> reason is that PHP does not have an ArrayCollection type so having > this as > >>>>> the type of 'children' on the AS side may be confusing the > >>>>> mapping. Get this > >>>>> working first and then move on to the ArrayCollection problem. You > could > >>>>> tell if the mapping is working on this simplified Person object > >>>>> as this code > >>>>> will throw an error if it's not: > >>>>> > >>>>> public function result(data:Object):void { > >>>>> var thisPerson:Person = data.result; > >>>>> } > >>>>> > >>>>> For the ArrayCollection problem, you can either make the 'children' > object > >>>>> of type Array on both the AS and PHP sides or create a custom > >>>>> ArrayCollection type on the PHP side. Here's an example of this: > >>>>> > >>>>> > http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob > >>>>> ject-AMFPHP-1.9-to9594166.html > >>>>> > >>>>> Some more info on AMFPHP and ArrayCollections here: > >>>>> > >>>>> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection > >>>>> > >>>>> Lastly, this part of your code looks a bit weird: > >>>>> > >>>>> $array->children = new Person(); > >>>>> $array->children->name[] = 'two'; > >>>>> $array->children->name[] = 'three'; > >>>>> > >>>>> 'children' is defined as an ArrayCollection in your AS class but > you've > >>>>> assigned a Person object to it here. Also, 'name' is a string but > you're > >>>>> treating like an Array. > >>>>> > >>>>> I hope this helps. My advice is to start with the simplest > >>>>> example and then > >>>>> work from there. > >>>>> > >>>>> Cheers, > >>>>> Darren. > >>>>> > >>>>> On 27/2/10 6:35 AM, "Jacob > >>>>> Steinberger"<tre...@re...> wrote: > >>>>> > >>>>> > >>>>> > >>>>>> First, apologies for breaking threading. I don't have the email I > want > >>>>>> to reply to, available to reply to =\ > >>>>>> > >>>>>> Darren, thanks for your comments. My output from PHP now looks like > thus: > >>>>>> > >>>>>> Person Object > >>>>>> ( > >>>>>> [name] => one > >>>>>> [children] => ArrayCollection Object > >>>>>> ( > >>>>>> [_explicitType] => mx.collections.ArrayCollection > >>>>>> [source] => Array > >>>>>> ( > >>>>>> [0] => Person Object > >>>>>> ( > >>>>>> [name] => two > >>>>>> [children] => > >>>>>> [_explicitType] => Person > >>>>>> ) > >>>>>> > >>>>>> [1] => Person Object > >>>>>> ( > >>>>>> [name] => three > >>>>>> [children] => > >>>>>> [_explicitType] => Person > >>>>>> ) > >>>>>> > >>>>>> ) > >>>>>> > >>>>>> ) > >>>>>> > >>>>>> [_explicitType] => Person > >>>>>> ) > >>>>>> > >>>>>> It looks pretty good. But when I view it during a debug session > within > >>>>>> Flex Builder, it shows up as stock arrays or objects (not as the > VO). > >>>>>> Is this the expected result? What test can be done on the data > inside > >>>>>> Flex to show that it was converted to Flex's VOs? > >>>>>> > >>>>>> I'm familiar with Charles, Wireshark, etc, and the data appears good > >>>>>> there. But again, when the data gets to Flex, it doesn't seem right. > >>>>>> > >>>>>> Jacob > >>>>>> > >>>>>> Quoting tre...@re...: > >>>>>> > >>>>>> > >>>>>> > >>>>>>> I've searched the internet, read at least a dozen blogs and > >>>>>>> tried a ton of > >>>>>>> variations of code to get class mapping to work. None of it > >>>>>>> does. It seems > >>>>>>> the vast majority of examples on the internet are code snippets, > >>>>>>> pieces and > >>>>>>> fragments - all with comments asking for a full code block because > the > >>>>>>> examples aren't complete. > >>>>>>> > >>>>>>> I hope this list is the proper place to ask this kind of question > as I'm > >>>>>>> at my wits end. I'd like to get this working and post a full > >>>>>>> example to the > >>>>>>> internet (even if I don't get indexed) just to have a place to > >>>>>>> point other > >>>>>>> people to that are having the same problem. > >>>>>>> > >>>>>>> php, services/vo: > >>>>>>> class Person { > >>>>>>> public $name; > >>>>>>> public $children; > >>>>>>> > >>>>>>> var $_explicitType="vo.Person"; > >>>>>>> function Person(){ > >>>>>>> } > >>>>>>> } > >>>>>>> > >>>>>>> php, services: > >>>>>>> function test3() { > >>>>>>> $array = new Person(); > >>>>>>> $array->name = 'one'; > >>>>>>> $array->children = new Person(); > >>>>>>> $array->children->name[] = 'two'; > >>>>>>> $array->children->name[] = 'three'; > >>>>>>> #$array['_explicitType'] = 'vo.Person'; > >>>>>>> #registerClassAlias("vo.Person",Person); > >>>>>>> return($array); > >>>>>>> } > >>>>>>> > >>>>>>> Person.as: > >>>>>>> package vo { > >>>>>>> import mx.collections.ArrayCollection; > >>>>>>> [Bindable][RemoteClass(alias="vo.Person")] > >>>>>>> public class Person{ > >>>>>>> > >>>>>>> public var name:String; > >>>>>>> public var children:ArrayCollection; > >>>>>>> > >>>>>>> public function Person(_name:String, > >>>>>>> _children:ArrayCollection = > >>>>>>> null){ > >>>>>>> this.name = _name; > >>>>>>> if(_children != null) > >>>>>>> this.children = _children; > >>>>>>> }//end Person constructor > >>>>>>> > >>>>>>> }//end Person class > >>>>>>> > >>>>>>> }//end package declaration > >>>>>>> > >>>>>>> I've tried every combination of _explicitType, registerClassAlias, > and > >>>>>>> RemoteClass I've read about. Some sources say you need one, some > say you > >>>>>>> need two, one even said you need all three. > >>>>>>> > >>>>>>> I'd appreciate any recommendation or pointing me to a working > >>>>>>> example that > >>>>>>> I could look at to see how it works for *someone*. > >>>>>>> > >>>>>>> Jacob > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>>> > ------------------------------------------------------------------------------ > >>>>>> Download Intel® Parallel Studio Eval > >>>>>> Try the new software tools for yourself. Speed compiling, find bugs > >>>>>> proactively, and fine-tune applications for parallel performance. > >>>>>> See why Intel Parallel Studio got high marks during beta. > >>>>>> http://p.sf.net/sfu/intel-sw-dev > >>>>>> _______________________________________________ > >>>>>> amfphp-general mailing list > >>>>>> amf...@li... > >>>>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general > >>>>>> > >>>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> Download Intel® Parallel Studio Eval > >>>>> Try the new software tools for yourself. Speed compiling, find bugs > >>>>> proactively, and fine-tune applications for parallel performance. > >>>>> See why Intel Parallel Studio got high marks during beta. > >>>>> http://p.sf.net/sfu/intel-sw-dev > >>>>> _______________________________________________ > >>>>> amfphp-general mailing list > >>>>> amf...@li... > >>>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>>> > ------------------------------------------------------------------------------ > >>>> Download Intel® Parallel Studio Eval > >>>> Try the new software tools for yourself. Speed compiling, find bugs > >>>> proactively, and fine-tune applications for parallel performance. > >>>> See why Intel Parallel Studio got high marks during beta. > >>>> http://p.sf.net/sfu/intel-sw-dev > >>>> _______________________________________________ > >>>> amfphp-general mailing list > >>>> amf...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general > >>>> > >>>> > >>>> > >>> > >>> > >>> > ------------------------------------------------------------------------------ > >>> Download Intel® Parallel Studio Eval > >>> Try the new software tools for yourself. Speed compiling, find bugs > >>> proactively, and fine-tune applications for parallel performance. > >>> See why Intel Parallel Studio got high marks during beta. > >>> http://p.sf.net/sfu/intel-sw-dev > >>> _______________________________________________ > >>> amfphp-general mailing list > >>> amf...@li... > >>> https://lists.sourceforge.net/lists/listinfo/amfphp-general > >>> > >>> > >> > >> > ------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev > >> _______________________________________________ > >> amfphp-general mailing list > >> amf...@li... > >> https://lists.sourceforge.net/lists/listinfo/amfphp-general > >> > >> > > > > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > amfphp-general mailing list > > amf...@li... > > https://lists.sourceforge.net/lists/listinfo/amfphp-general > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Darren S. <daz...@gm...> - 2010-03-02 09:15:07
|
Hi Jacob, A comment on Wade's blog suggests that ArrayObjects are also automatically converted to ArrayCollections so this might be worth a try: $this_person = new Person(); $this_person->name = 'someName'; $child_array = array(); $child_array[] = new Person(); $child_array[] = new Person(); $this_person->children = new ArrayObject($child_array); See: http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection#comment-530 Cheers, Darren. On 2/03/2010 4:11 PM, Jacob Steinberger wrote: > ArrayCollection was the easy part, to be honest. I have two > applications, both contain the same code, on contains a lot of other > crap. In the "minimal" program, everything works. In the "full blown" > program the ArrayCollections come through, but the Person does not (in > effect, I end up with a bunch of Objects with ArrayCollections with > Objects). > > Pulling my hair out over it, but I'm sure it's something stupid somewhere ... > > As far as the RemoteBind for ArrayCollection, > flex.messaging.io.ArrayCollection is correct. > mx.collections.ArrayCollection is how you import ArrayCollection, but > in the definition of ArrayCollection, it has a RemoteBind for the > flex.messaging. Seems counter intuitive to rename things like that, > but, meh! > > Jacob > > Quoting Darren Smith<daz...@gm...>: > > >> Hi Jacob, >> >> I haven't needed to send ArrayCollections myself (Arrays have always >> sufficed) but I think your PHP ArrayCollection has to map exactly to the >> Flex version, in particular the 'source' property of an ArrayCollection >> object should be set to an Array. Maybe try this: >> >> php, services/vo/mx/collections: >> class ArrayCollection { >> var $source; >> var $_explicitType = "mx.collections.ArrayCollection"; >> } >> >> And create your 'children' ArrayCollection with: >> >> var $child_array = array(); >> $child_array[] = new Person(); >> $child_array[] = new Person(); >> var $children = new ArrayCollection(); >> $children->source = $child_array; >> >> It will probably be something like this although I noticed that in the >> thread I linked to earlier the '_explicitType' is set to >> 'flex.messaging.io.ArrayCollection' and the author claims that this >> works for him. >> >> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Object-AMFPHP-1.9-to9594166.html >> >> Good luck, >> Darren. >> >> On 2/03/2010 3:04 AM, Jacob Steinberger wrote: >> >>> Flex Builder doesn't like setting event.result to anything other than >>> an Object. I assume that's expected. I buried the Person into >>> event.result.data, and it cam through as a vo.Person without any >>> problems. >>> >>> It doesn't like my ArrayCollection, but it's progress! >>> >>> Thanks for the help Darren, >>> >>> Jacob >>> >>> Quoting Jacob Steinberger<tre...@re...>: >>> >>> >>> >>>> I'll try the simple path, but I appear to have skipped something in my >>>> last post. With your previous suggestions, I got the output of the >>>> first 'Person' working in PHP, then I went forward with adding the >>>> ArrayCollection. That's when I posted the results. The current PHP >>>> looks like ... >>>> >>>> $array = new Person('one', new ArrayCollection(array(new >>>> Person('two'), new Person('three')))); >>>> >>>> ... which hopefully looks better than my previous PHP snippet. >>>> >>>> Again, I'll try the simple path with just sending a Person with no >>>> ArrayCollection and see if that works. >>>> >>>> Jacob >>>> >>>> Quoting Darren Smith<daz...@gm...>: >>>> >>>> >>>> >>>>> Hi Jacob, >>>>> >>>>> Personally to simplify things I would initially send back a simplified >>>>> Person object with no 'children' property (ie. remove the >>>>> property from the >>>>> class in both AS and PHP) to see if the mapping is working correctly. The >>>>> reason is that PHP does not have an ArrayCollection type so having this as >>>>> the type of 'children' on the AS side may be confusing the >>>>> mapping. Get this >>>>> working first and then move on to the ArrayCollection problem. You could >>>>> tell if the mapping is working on this simplified Person object >>>>> as this code >>>>> will throw an error if it's not: >>>>> >>>>> public function result(data:Object):void { >>>>> var thisPerson:Person = data.result; >>>>> } >>>>> >>>>> For the ArrayCollection problem, you can either make the 'children' object >>>>> of type Array on both the AS and PHP sides or create a custom >>>>> ArrayCollection type on the PHP side. Here's an example of this: >>>>> >>>>> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob >>>>> ject-AMFPHP-1.9-to9594166.html >>>>> >>>>> Some more info on AMFPHP and ArrayCollections here: >>>>> >>>>> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection >>>>> >>>>> Lastly, this part of your code looks a bit weird: >>>>> >>>>> $array->children = new Person(); >>>>> $array->children->name[] = 'two'; >>>>> $array->children->name[] = 'three'; >>>>> >>>>> 'children' is defined as an ArrayCollection in your AS class but you've >>>>> assigned a Person object to it here. Also, 'name' is a string but you're >>>>> treating like an Array. >>>>> >>>>> I hope this helps. My advice is to start with the simplest >>>>> example and then >>>>> work from there. >>>>> >>>>> Cheers, >>>>> Darren. >>>>> >>>>> On 27/2/10 6:35 AM, "Jacob >>>>> Steinberger"<tre...@re...> wrote: >>>>> >>>>> >>>>> >>>>>> First, apologies for breaking threading. I don't have the email I want >>>>>> to reply to, available to reply to =\ >>>>>> >>>>>> Darren, thanks for your comments. My output from PHP now looks like thus: >>>>>> >>>>>> Person Object >>>>>> ( >>>>>> [name] => one >>>>>> [children] => ArrayCollection Object >>>>>> ( >>>>>> [_explicitType] => mx.collections.ArrayCollection >>>>>> [source] => Array >>>>>> ( >>>>>> [0] => Person Object >>>>>> ( >>>>>> [name] => two >>>>>> [children] => >>>>>> [_explicitType] => Person >>>>>> ) >>>>>> >>>>>> [1] => Person Object >>>>>> ( >>>>>> [name] => three >>>>>> [children] => >>>>>> [_explicitType] => Person >>>>>> ) >>>>>> >>>>>> ) >>>>>> >>>>>> ) >>>>>> >>>>>> [_explicitType] => Person >>>>>> ) >>>>>> >>>>>> It looks pretty good. But when I view it during a debug session within >>>>>> Flex Builder, it shows up as stock arrays or objects (not as the VO). >>>>>> Is this the expected result? What test can be done on the data inside >>>>>> Flex to show that it was converted to Flex's VOs? >>>>>> >>>>>> I'm familiar with Charles, Wireshark, etc, and the data appears good >>>>>> there. But again, when the data gets to Flex, it doesn't seem right. >>>>>> >>>>>> Jacob >>>>>> >>>>>> Quoting tre...@re...: >>>>>> >>>>>> >>>>>> >>>>>>> I've searched the internet, read at least a dozen blogs and >>>>>>> tried a ton of >>>>>>> variations of code to get class mapping to work. None of it >>>>>>> does. It seems >>>>>>> the vast majority of examples on the internet are code snippets, >>>>>>> pieces and >>>>>>> fragments - all with comments asking for a full code block because the >>>>>>> examples aren't complete. >>>>>>> >>>>>>> I hope this list is the proper place to ask this kind of question as I'm >>>>>>> at my wits end. I'd like to get this working and post a full >>>>>>> example to the >>>>>>> internet (even if I don't get indexed) just to have a place to >>>>>>> point other >>>>>>> people to that are having the same problem. >>>>>>> >>>>>>> php, services/vo: >>>>>>> class Person { >>>>>>> public $name; >>>>>>> public $children; >>>>>>> >>>>>>> var $_explicitType="vo.Person"; >>>>>>> function Person(){ >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> php, services: >>>>>>> function test3() { >>>>>>> $array = new Person(); >>>>>>> $array->name = 'one'; >>>>>>> $array->children = new Person(); >>>>>>> $array->children->name[] = 'two'; >>>>>>> $array->children->name[] = 'three'; >>>>>>> #$array['_explicitType'] = 'vo.Person'; >>>>>>> #registerClassAlias("vo.Person",Person); >>>>>>> return($array); >>>>>>> } >>>>>>> >>>>>>> Person.as: >>>>>>> package vo { >>>>>>> import mx.collections.ArrayCollection; >>>>>>> [Bindable][RemoteClass(alias="vo.Person")] >>>>>>> public class Person{ >>>>>>> >>>>>>> public var name:String; >>>>>>> public var children:ArrayCollection; >>>>>>> >>>>>>> public function Person(_name:String, >>>>>>> _children:ArrayCollection = >>>>>>> null){ >>>>>>> this.name = _name; >>>>>>> if(_children != null) >>>>>>> this.children = _children; >>>>>>> }//end Person constructor >>>>>>> >>>>>>> }//end Person class >>>>>>> >>>>>>> }//end package declaration >>>>>>> >>>>>>> I've tried every combination of _explicitType, registerClassAlias, and >>>>>>> RemoteClass I've read about. Some sources say you need one, some say you >>>>>>> need two, one even said you need all three. >>>>>>> >>>>>>> I'd appreciate any recommendation or pointing me to a working >>>>>>> example that >>>>>>> I could look at to see how it works for *someone*. >>>>>>> >>>>>>> Jacob >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Download Intel® Parallel Studio Eval >>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>> proactively, and fine-tune applications for parallel performance. >>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>> _______________________________________________ >>>>>> amfphp-general mailing list >>>>>> amf...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>>>> >>>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Download Intel® Parallel Studio Eval >>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>> proactively, and fine-tune applications for parallel performance. >>>>> See why Intel Parallel Studio got high marks during beta. >>>>> http://p.sf.net/sfu/intel-sw-dev >>>>> _______________________________________________ >>>>> amfphp-general mailing list >>>>> amf...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>>> >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Download Intel® Parallel Studio Eval >>>> Try the new software tools for yourself. Speed compiling, find bugs >>>> proactively, and fine-tune applications for parallel performance. >>>> See why Intel Parallel Studio got high marks during beta. >>>> http://p.sf.net/sfu/intel-sw-dev >>>> _______________________________________________ >>>> amfphp-general mailing list >>>> amf...@li... >>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>> >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> amfphp-general mailing list >>> amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>> >>> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> amfphp-general mailing list >> amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amfphp-general >> >> > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Jacob S. <tre...@re...> - 2010-03-02 05:11:45
|
ArrayCollection was the easy part, to be honest. I have two applications, both contain the same code, on contains a lot of other crap. In the "minimal" program, everything works. In the "full blown" program the ArrayCollections come through, but the Person does not (in effect, I end up with a bunch of Objects with ArrayCollections with Objects). Pulling my hair out over it, but I'm sure it's something stupid somewhere ... As far as the RemoteBind for ArrayCollection, flex.messaging.io.ArrayCollection is correct. mx.collections.ArrayCollection is how you import ArrayCollection, but in the definition of ArrayCollection, it has a RemoteBind for the flex.messaging. Seems counter intuitive to rename things like that, but, meh! Jacob Quoting Darren Smith <daz...@gm...>: > Hi Jacob, > > I haven't needed to send ArrayCollections myself (Arrays have always > sufficed) but I think your PHP ArrayCollection has to map exactly to the > Flex version, in particular the 'source' property of an ArrayCollection > object should be set to an Array. Maybe try this: > > php, services/vo/mx/collections: > class ArrayCollection { > var $source; > var $_explicitType = "mx.collections.ArrayCollection"; > } > > And create your 'children' ArrayCollection with: > > var $child_array = array(); > $child_array[] = new Person(); > $child_array[] = new Person(); > var $children = new ArrayCollection(); > $children->source = $child_array; > > It will probably be something like this although I noticed that in the > thread I linked to earlier the '_explicitType' is set to > 'flex.messaging.io.ArrayCollection' and the author claims that this > works for him. > > http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Object-AMFPHP-1.9-to9594166.html > > Good luck, > Darren. > > On 2/03/2010 3:04 AM, Jacob Steinberger wrote: >> Flex Builder doesn't like setting event.result to anything other than >> an Object. I assume that's expected. I buried the Person into >> event.result.data, and it cam through as a vo.Person without any >> problems. >> >> It doesn't like my ArrayCollection, but it's progress! >> >> Thanks for the help Darren, >> >> Jacob >> >> Quoting Jacob Steinberger<tre...@re...>: >> >> >>> I'll try the simple path, but I appear to have skipped something in my >>> last post. With your previous suggestions, I got the output of the >>> first 'Person' working in PHP, then I went forward with adding the >>> ArrayCollection. That's when I posted the results. The current PHP >>> looks like ... >>> >>> $array = new Person('one', new ArrayCollection(array(new >>> Person('two'), new Person('three')))); >>> >>> ... which hopefully looks better than my previous PHP snippet. >>> >>> Again, I'll try the simple path with just sending a Person with no >>> ArrayCollection and see if that works. >>> >>> Jacob >>> >>> Quoting Darren Smith<daz...@gm...>: >>> >>> >>>> Hi Jacob, >>>> >>>> Personally to simplify things I would initially send back a simplified >>>> Person object with no 'children' property (ie. remove the >>>> property from the >>>> class in both AS and PHP) to see if the mapping is working correctly. The >>>> reason is that PHP does not have an ArrayCollection type so having this as >>>> the type of 'children' on the AS side may be confusing the >>>> mapping. Get this >>>> working first and then move on to the ArrayCollection problem. You could >>>> tell if the mapping is working on this simplified Person object >>>> as this code >>>> will throw an error if it's not: >>>> >>>> public function result(data:Object):void { >>>> var thisPerson:Person = data.result; >>>> } >>>> >>>> For the ArrayCollection problem, you can either make the 'children' object >>>> of type Array on both the AS and PHP sides or create a custom >>>> ArrayCollection type on the PHP side. Here's an example of this: >>>> >>>> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob >>>> ject-AMFPHP-1.9-to9594166.html >>>> >>>> Some more info on AMFPHP and ArrayCollections here: >>>> >>>> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection >>>> >>>> Lastly, this part of your code looks a bit weird: >>>> >>>> $array->children = new Person(); >>>> $array->children->name[] = 'two'; >>>> $array->children->name[] = 'three'; >>>> >>>> 'children' is defined as an ArrayCollection in your AS class but you've >>>> assigned a Person object to it here. Also, 'name' is a string but you're >>>> treating like an Array. >>>> >>>> I hope this helps. My advice is to start with the simplest >>>> example and then >>>> work from there. >>>> >>>> Cheers, >>>> Darren. >>>> >>>> On 27/2/10 6:35 AM, "Jacob >>>> Steinberger"<tre...@re...> wrote: >>>> >>>> >>>>> First, apologies for breaking threading. I don't have the email I want >>>>> to reply to, available to reply to =\ >>>>> >>>>> Darren, thanks for your comments. My output from PHP now looks like thus: >>>>> >>>>> Person Object >>>>> ( >>>>> [name] => one >>>>> [children] => ArrayCollection Object >>>>> ( >>>>> [_explicitType] => mx.collections.ArrayCollection >>>>> [source] => Array >>>>> ( >>>>> [0] => Person Object >>>>> ( >>>>> [name] => two >>>>> [children] => >>>>> [_explicitType] => Person >>>>> ) >>>>> >>>>> [1] => Person Object >>>>> ( >>>>> [name] => three >>>>> [children] => >>>>> [_explicitType] => Person >>>>> ) >>>>> >>>>> ) >>>>> >>>>> ) >>>>> >>>>> [_explicitType] => Person >>>>> ) >>>>> >>>>> It looks pretty good. But when I view it during a debug session within >>>>> Flex Builder, it shows up as stock arrays or objects (not as the VO). >>>>> Is this the expected result? What test can be done on the data inside >>>>> Flex to show that it was converted to Flex's VOs? >>>>> >>>>> I'm familiar with Charles, Wireshark, etc, and the data appears good >>>>> there. But again, when the data gets to Flex, it doesn't seem right. >>>>> >>>>> Jacob >>>>> >>>>> Quoting tre...@re...: >>>>> >>>>> >>>>>> I've searched the internet, read at least a dozen blogs and >>>>>> tried a ton of >>>>>> variations of code to get class mapping to work. None of it >>>>>> does. It seems >>>>>> the vast majority of examples on the internet are code snippets, >>>>>> pieces and >>>>>> fragments - all with comments asking for a full code block because the >>>>>> examples aren't complete. >>>>>> >>>>>> I hope this list is the proper place to ask this kind of question as I'm >>>>>> at my wits end. I'd like to get this working and post a full >>>>>> example to the >>>>>> internet (even if I don't get indexed) just to have a place to >>>>>> point other >>>>>> people to that are having the same problem. >>>>>> >>>>>> php, services/vo: >>>>>> class Person { >>>>>> public $name; >>>>>> public $children; >>>>>> >>>>>> var $_explicitType="vo.Person"; >>>>>> function Person(){ >>>>>> } >>>>>> } >>>>>> >>>>>> php, services: >>>>>> function test3() { >>>>>> $array = new Person(); >>>>>> $array->name = 'one'; >>>>>> $array->children = new Person(); >>>>>> $array->children->name[] = 'two'; >>>>>> $array->children->name[] = 'three'; >>>>>> #$array['_explicitType'] = 'vo.Person'; >>>>>> #registerClassAlias("vo.Person",Person); >>>>>> return($array); >>>>>> } >>>>>> >>>>>> Person.as: >>>>>> package vo { >>>>>> import mx.collections.ArrayCollection; >>>>>> [Bindable][RemoteClass(alias="vo.Person")] >>>>>> public class Person{ >>>>>> >>>>>> public var name:String; >>>>>> public var children:ArrayCollection; >>>>>> >>>>>> public function Person(_name:String, >>>>>> _children:ArrayCollection = >>>>>> null){ >>>>>> this.name = _name; >>>>>> if(_children != null) >>>>>> this.children = _children; >>>>>> }//end Person constructor >>>>>> >>>>>> }//end Person class >>>>>> >>>>>> }//end package declaration >>>>>> >>>>>> I've tried every combination of _explicitType, registerClassAlias, and >>>>>> RemoteClass I've read about. Some sources say you need one, some say you >>>>>> need two, one even said you need all three. >>>>>> >>>>>> I'd appreciate any recommendation or pointing me to a working >>>>>> example that >>>>>> I could look at to see how it works for *someone*. >>>>>> >>>>>> Jacob >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Download Intel® Parallel Studio Eval >>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>> proactively, and fine-tune applications for parallel performance. >>>>> See why Intel Parallel Studio got high marks during beta. >>>>> http://p.sf.net/sfu/intel-sw-dev >>>>> _______________________________________________ >>>>> amfphp-general mailing list >>>>> amf...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Download Intel® Parallel Studio Eval >>>> Try the new software tools for yourself. Speed compiling, find bugs >>>> proactively, and fine-tune applications for parallel performance. >>>> See why Intel Parallel Studio got high marks during beta. >>>> http://p.sf.net/sfu/intel-sw-dev >>>> _______________________________________________ >>>> amfphp-general mailing list >>>> amf...@li... >>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>> >>>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> amfphp-general mailing list >>> amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>> >>> >> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> amfphp-general mailing list >> amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amfphp-general >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Darren S. <daz...@gm...> - 2010-03-02 02:43:50
|
Hi Jacob, I haven't needed to send ArrayCollections myself (Arrays have always sufficed) but I think your PHP ArrayCollection has to map exactly to the Flex version, in particular the 'source' property of an ArrayCollection object should be set to an Array. Maybe try this: php, services/vo/mx/collections: class ArrayCollection { var $source; var $_explicitType = "mx.collections.ArrayCollection"; } And create your 'children' ArrayCollection with: var $child_array = array(); $child_array[] = new Person(); $child_array[] = new Person(); var $children = new ArrayCollection(); $children->source = $child_array; It will probably be something like this although I noticed that in the thread I linked to earlier the '_explicitType' is set to 'flex.messaging.io.ArrayCollection' and the author claims that this works for him. http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Object-AMFPHP-1.9-to9594166.html Good luck, Darren. On 2/03/2010 3:04 AM, Jacob Steinberger wrote: > Flex Builder doesn't like setting event.result to anything other than > an Object. I assume that's expected. I buried the Person into > event.result.data, and it cam through as a vo.Person without any > problems. > > It doesn't like my ArrayCollection, but it's progress! > > Thanks for the help Darren, > > Jacob > > Quoting Jacob Steinberger<tre...@re...>: > > >> I'll try the simple path, but I appear to have skipped something in my >> last post. With your previous suggestions, I got the output of the >> first 'Person' working in PHP, then I went forward with adding the >> ArrayCollection. That's when I posted the results. The current PHP >> looks like ... >> >> $array = new Person('one', new ArrayCollection(array(new >> Person('two'), new Person('three')))); >> >> ... which hopefully looks better than my previous PHP snippet. >> >> Again, I'll try the simple path with just sending a Person with no >> ArrayCollection and see if that works. >> >> Jacob >> >> Quoting Darren Smith<daz...@gm...>: >> >> >>> Hi Jacob, >>> >>> Personally to simplify things I would initially send back a simplified >>> Person object with no 'children' property (ie. remove the property from the >>> class in both AS and PHP) to see if the mapping is working correctly. The >>> reason is that PHP does not have an ArrayCollection type so having this as >>> the type of 'children' on the AS side may be confusing the mapping. Get this >>> working first and then move on to the ArrayCollection problem. You could >>> tell if the mapping is working on this simplified Person object as this code >>> will throw an error if it's not: >>> >>> public function result(data:Object):void { >>> var thisPerson:Person = data.result; >>> } >>> >>> For the ArrayCollection problem, you can either make the 'children' object >>> of type Array on both the AS and PHP sides or create a custom >>> ArrayCollection type on the PHP side. Here's an example of this: >>> >>> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob >>> ject-AMFPHP-1.9-to9594166.html >>> >>> Some more info on AMFPHP and ArrayCollections here: >>> >>> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection >>> >>> Lastly, this part of your code looks a bit weird: >>> >>> $array->children = new Person(); >>> $array->children->name[] = 'two'; >>> $array->children->name[] = 'three'; >>> >>> 'children' is defined as an ArrayCollection in your AS class but you've >>> assigned a Person object to it here. Also, 'name' is a string but you're >>> treating like an Array. >>> >>> I hope this helps. My advice is to start with the simplest example and then >>> work from there. >>> >>> Cheers, >>> Darren. >>> >>> On 27/2/10 6:35 AM, "Jacob Steinberger"<tre...@re...> wrote: >>> >>> >>>> First, apologies for breaking threading. I don't have the email I want >>>> to reply to, available to reply to =\ >>>> >>>> Darren, thanks for your comments. My output from PHP now looks like thus: >>>> >>>> Person Object >>>> ( >>>> [name] => one >>>> [children] => ArrayCollection Object >>>> ( >>>> [_explicitType] => mx.collections.ArrayCollection >>>> [source] => Array >>>> ( >>>> [0] => Person Object >>>> ( >>>> [name] => two >>>> [children] => >>>> [_explicitType] => Person >>>> ) >>>> >>>> [1] => Person Object >>>> ( >>>> [name] => three >>>> [children] => >>>> [_explicitType] => Person >>>> ) >>>> >>>> ) >>>> >>>> ) >>>> >>>> [_explicitType] => Person >>>> ) >>>> >>>> It looks pretty good. But when I view it during a debug session within >>>> Flex Builder, it shows up as stock arrays or objects (not as the VO). >>>> Is this the expected result? What test can be done on the data inside >>>> Flex to show that it was converted to Flex's VOs? >>>> >>>> I'm familiar with Charles, Wireshark, etc, and the data appears good >>>> there. But again, when the data gets to Flex, it doesn't seem right. >>>> >>>> Jacob >>>> >>>> Quoting tre...@re...: >>>> >>>> >>>>> I've searched the internet, read at least a dozen blogs and tried a ton of >>>>> variations of code to get class mapping to work. None of it does. It seems >>>>> the vast majority of examples on the internet are code snippets, >>>>> pieces and >>>>> fragments - all with comments asking for a full code block because the >>>>> examples aren't complete. >>>>> >>>>> I hope this list is the proper place to ask this kind of question as I'm >>>>> at my wits end. I'd like to get this working and post a full >>>>> example to the >>>>> internet (even if I don't get indexed) just to have a place to point other >>>>> people to that are having the same problem. >>>>> >>>>> php, services/vo: >>>>> class Person { >>>>> public $name; >>>>> public $children; >>>>> >>>>> var $_explicitType="vo.Person"; >>>>> function Person(){ >>>>> } >>>>> } >>>>> >>>>> php, services: >>>>> function test3() { >>>>> $array = new Person(); >>>>> $array->name = 'one'; >>>>> $array->children = new Person(); >>>>> $array->children->name[] = 'two'; >>>>> $array->children->name[] = 'three'; >>>>> #$array['_explicitType'] = 'vo.Person'; >>>>> #registerClassAlias("vo.Person",Person); >>>>> return($array); >>>>> } >>>>> >>>>> Person.as: >>>>> package vo { >>>>> import mx.collections.ArrayCollection; >>>>> [Bindable][RemoteClass(alias="vo.Person")] >>>>> public class Person{ >>>>> >>>>> public var name:String; >>>>> public var children:ArrayCollection; >>>>> >>>>> public function Person(_name:String, _children:ArrayCollection = >>>>> null){ >>>>> this.name = _name; >>>>> if(_children != null) >>>>> this.children = _children; >>>>> }//end Person constructor >>>>> >>>>> }//end Person class >>>>> >>>>> }//end package declaration >>>>> >>>>> I've tried every combination of _explicitType, registerClassAlias, and >>>>> RemoteClass I've read about. Some sources say you need one, some say you >>>>> need two, one even said you need all three. >>>>> >>>>> I'd appreciate any recommendation or pointing me to a working example that >>>>> I could look at to see how it works for *someone*. >>>>> >>>>> Jacob >>>>> >>>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Download Intel® Parallel Studio Eval >>>> Try the new software tools for yourself. Speed compiling, find bugs >>>> proactively, and fine-tune applications for parallel performance. >>>> See why Intel Parallel Studio got high marks during beta. >>>> http://p.sf.net/sfu/intel-sw-dev >>>> _______________________________________________ >>>> amfphp-general mailing list >>>> amf...@li... >>>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> amfphp-general mailing list >>> amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >>> >>> >> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> amfphp-general mailing list >> amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amfphp-general >> >> > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Jacob S. <tre...@re...> - 2010-03-01 16:05:10
|
Flex Builder doesn't like setting event.result to anything other than an Object. I assume that's expected. I buried the Person into event.result.data, and it cam through as a vo.Person without any problems. It doesn't like my ArrayCollection, but it's progress! Thanks for the help Darren, Jacob Quoting Jacob Steinberger <tre...@re...>: > I'll try the simple path, but I appear to have skipped something in my > last post. With your previous suggestions, I got the output of the > first 'Person' working in PHP, then I went forward with adding the > ArrayCollection. That's when I posted the results. The current PHP > looks like ... > > $array = new Person('one', new ArrayCollection(array(new > Person('two'), new Person('three')))); > > ... which hopefully looks better than my previous PHP snippet. > > Again, I'll try the simple path with just sending a Person with no > ArrayCollection and see if that works. > > Jacob > > Quoting Darren Smith <daz...@gm...>: > >> Hi Jacob, >> >> Personally to simplify things I would initially send back a simplified >> Person object with no 'children' property (ie. remove the property from the >> class in both AS and PHP) to see if the mapping is working correctly. The >> reason is that PHP does not have an ArrayCollection type so having this as >> the type of 'children' on the AS side may be confusing the mapping. Get this >> working first and then move on to the ArrayCollection problem. You could >> tell if the mapping is working on this simplified Person object as this code >> will throw an error if it's not: >> >> public function result(data:Object):void { >> var thisPerson:Person = data.result; >> } >> >> For the ArrayCollection problem, you can either make the 'children' object >> of type Array on both the AS and PHP sides or create a custom >> ArrayCollection type on the PHP side. Here's an example of this: >> >> http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob >> ject-AMFPHP-1.9-to9594166.html >> >> Some more info on AMFPHP and ArrayCollections here: >> >> http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection >> >> Lastly, this part of your code looks a bit weird: >> >> $array->children = new Person(); >> $array->children->name[] = 'two'; >> $array->children->name[] = 'three'; >> >> 'children' is defined as an ArrayCollection in your AS class but you've >> assigned a Person object to it here. Also, 'name' is a string but you're >> treating like an Array. >> >> I hope this helps. My advice is to start with the simplest example and then >> work from there. >> >> Cheers, >> Darren. >> >> On 27/2/10 6:35 AM, "Jacob Steinberger" <tre...@re...> wrote: >> >>> First, apologies for breaking threading. I don't have the email I want >>> to reply to, available to reply to =\ >>> >>> Darren, thanks for your comments. My output from PHP now looks like thus: >>> >>> Person Object >>> ( >>> [name] => one >>> [children] => ArrayCollection Object >>> ( >>> [_explicitType] => mx.collections.ArrayCollection >>> [source] => Array >>> ( >>> [0] => Person Object >>> ( >>> [name] => two >>> [children] => >>> [_explicitType] => Person >>> ) >>> >>> [1] => Person Object >>> ( >>> [name] => three >>> [children] => >>> [_explicitType] => Person >>> ) >>> >>> ) >>> >>> ) >>> >>> [_explicitType] => Person >>> ) >>> >>> It looks pretty good. But when I view it during a debug session within >>> Flex Builder, it shows up as stock arrays or objects (not as the VO). >>> Is this the expected result? What test can be done on the data inside >>> Flex to show that it was converted to Flex's VOs? >>> >>> I'm familiar with Charles, Wireshark, etc, and the data appears good >>> there. But again, when the data gets to Flex, it doesn't seem right. >>> >>> Jacob >>> >>> Quoting tre...@re...: >>> >>>> I've searched the internet, read at least a dozen blogs and tried a ton of >>>> variations of code to get class mapping to work. None of it does. It seems >>>> the vast majority of examples on the internet are code snippets, >>>> pieces and >>>> fragments - all with comments asking for a full code block because the >>>> examples aren't complete. >>>> >>>> I hope this list is the proper place to ask this kind of question as I'm >>>> at my wits end. I'd like to get this working and post a full >>>> example to the >>>> internet (even if I don't get indexed) just to have a place to point other >>>> people to that are having the same problem. >>>> >>>> php, services/vo: >>>> class Person { >>>> public $name; >>>> public $children; >>>> >>>> var $_explicitType="vo.Person"; >>>> function Person(){ >>>> } >>>> } >>>> >>>> php, services: >>>> function test3() { >>>> $array = new Person(); >>>> $array->name = 'one'; >>>> $array->children = new Person(); >>>> $array->children->name[] = 'two'; >>>> $array->children->name[] = 'three'; >>>> #$array['_explicitType'] = 'vo.Person'; >>>> #registerClassAlias("vo.Person",Person); >>>> return($array); >>>> } >>>> >>>> Person.as: >>>> package vo { >>>> import mx.collections.ArrayCollection; >>>> [Bindable][RemoteClass(alias="vo.Person")] >>>> public class Person{ >>>> >>>> public var name:String; >>>> public var children:ArrayCollection; >>>> >>>> public function Person(_name:String, _children:ArrayCollection = >>>> null){ >>>> this.name = _name; >>>> if(_children != null) >>>> this.children = _children; >>>> }//end Person constructor >>>> >>>> }//end Person class >>>> >>>> }//end package declaration >>>> >>>> I've tried every combination of _explicitType, registerClassAlias, and >>>> RemoteClass I've read about. Some sources say you need one, some say you >>>> need two, one even said you need all three. >>>> >>>> I'd appreciate any recommendation or pointing me to a working example that >>>> I could look at to see how it works for *someone*. >>>> >>>> Jacob >>>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> amfphp-general mailing list >>> amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amfphp-general >> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> amfphp-general mailing list >> amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amfphp-general >> > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Jacob S. <tre...@re...> - 2010-03-01 15:56:26
|
I'll try the simple path, but I appear to have skipped something in my last post. With your previous suggestions, I got the output of the first 'Person' working in PHP, then I went forward with adding the ArrayCollection. That's when I posted the results. The current PHP looks like ... $array = new Person('one', new ArrayCollection(array(new Person('two'), new Person('three')))); ... which hopefully looks better than my previous PHP snippet. Again, I'll try the simple path with just sending a Person with no ArrayCollection and see if that works. Jacob Quoting Darren Smith <daz...@gm...>: > Hi Jacob, > > Personally to simplify things I would initially send back a simplified > Person object with no 'children' property (ie. remove the property from the > class in both AS and PHP) to see if the mapping is working correctly. The > reason is that PHP does not have an ArrayCollection type so having this as > the type of 'children' on the AS side may be confusing the mapping. Get this > working first and then move on to the ArrayCollection problem. You could > tell if the mapping is working on this simplified Person object as this code > will throw an error if it's not: > > public function result(data:Object):void { > var thisPerson:Person = data.result; > } > > For the ArrayCollection problem, you can either make the 'children' object > of type Array on both the AS and PHP sides or create a custom > ArrayCollection type on the PHP side. Here's an example of this: > > http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob > ject-AMFPHP-1.9-to9594166.html > > Some more info on AMFPHP and ArrayCollections here: > > http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection > > Lastly, this part of your code looks a bit weird: > > $array->children = new Person(); > $array->children->name[] = 'two'; > $array->children->name[] = 'three'; > > 'children' is defined as an ArrayCollection in your AS class but you've > assigned a Person object to it here. Also, 'name' is a string but you're > treating like an Array. > > I hope this helps. My advice is to start with the simplest example and then > work from there. > > Cheers, > Darren. > > On 27/2/10 6:35 AM, "Jacob Steinberger" <tre...@re...> wrote: > >> First, apologies for breaking threading. I don't have the email I want >> to reply to, available to reply to =\ >> >> Darren, thanks for your comments. My output from PHP now looks like thus: >> >> Person Object >> ( >> [name] => one >> [children] => ArrayCollection Object >> ( >> [_explicitType] => mx.collections.ArrayCollection >> [source] => Array >> ( >> [0] => Person Object >> ( >> [name] => two >> [children] => >> [_explicitType] => Person >> ) >> >> [1] => Person Object >> ( >> [name] => three >> [children] => >> [_explicitType] => Person >> ) >> >> ) >> >> ) >> >> [_explicitType] => Person >> ) >> >> It looks pretty good. But when I view it during a debug session within >> Flex Builder, it shows up as stock arrays or objects (not as the VO). >> Is this the expected result? What test can be done on the data inside >> Flex to show that it was converted to Flex's VOs? >> >> I'm familiar with Charles, Wireshark, etc, and the data appears good >> there. But again, when the data gets to Flex, it doesn't seem right. >> >> Jacob >> >> Quoting tre...@re...: >> >>> I've searched the internet, read at least a dozen blogs and tried a ton of >>> variations of code to get class mapping to work. None of it does. It seems >>> the vast majority of examples on the internet are code snippets, pieces and >>> fragments - all with comments asking for a full code block because the >>> examples aren't complete. >>> >>> I hope this list is the proper place to ask this kind of question as I'm >>> at my wits end. I'd like to get this working and post a full example to the >>> internet (even if I don't get indexed) just to have a place to point other >>> people to that are having the same problem. >>> >>> php, services/vo: >>> class Person { >>> public $name; >>> public $children; >>> >>> var $_explicitType="vo.Person"; >>> function Person(){ >>> } >>> } >>> >>> php, services: >>> function test3() { >>> $array = new Person(); >>> $array->name = 'one'; >>> $array->children = new Person(); >>> $array->children->name[] = 'two'; >>> $array->children->name[] = 'three'; >>> #$array['_explicitType'] = 'vo.Person'; >>> #registerClassAlias("vo.Person",Person); >>> return($array); >>> } >>> >>> Person.as: >>> package vo { >>> import mx.collections.ArrayCollection; >>> [Bindable][RemoteClass(alias="vo.Person")] >>> public class Person{ >>> >>> public var name:String; >>> public var children:ArrayCollection; >>> >>> public function Person(_name:String, _children:ArrayCollection = >>> null){ >>> this.name = _name; >>> if(_children != null) >>> this.children = _children; >>> }//end Person constructor >>> >>> }//end Person class >>> >>> }//end package declaration >>> >>> I've tried every combination of _explicitType, registerClassAlias, and >>> RemoteClass I've read about. Some sources say you need one, some say you >>> need two, one even said you need all three. >>> >>> I'd appreciate any recommendation or pointing me to a working example that >>> I could look at to see how it works for *someone*. >>> >>> Jacob >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> amfphp-general mailing list >> amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amfphp-general > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general > |
From: Darren S. <daz...@gm...> - 2010-03-01 05:21:44
|
Hi Jacob, Personally to simplify things I would initially send back a simplified Person object with no 'children' property (ie. remove the property from the class in both AS and PHP) to see if the mapping is working correctly. The reason is that PHP does not have an ArrayCollection type so having this as the type of 'children' on the AS side may be confusing the mapping. Get this working first and then move on to the ArrayCollection problem. You could tell if the mapping is working on this simplified Person object as this code will throw an error if it's not: public function result(data:Object):void { var thisPerson:Person = data.result; } For the ArrayCollection problem, you can either make the 'children' object of type Array on both the AS and PHP sides or create a custom ArrayCollection type on the PHP side. Here's an example of this: http://old.nabble.com/Coercion-failed-ArrayCollection-with-Objects-inside-Ob ject-AMFPHP-1.9-to9594166.html Some more info on AMFPHP and ArrayCollections here: http://wadearnold.com/blog/flash/amfphp/amfphp-arraycollection Lastly, this part of your code looks a bit weird: $array->children = new Person(); $array->children->name[] = 'two'; $array->children->name[] = 'three'; 'children' is defined as an ArrayCollection in your AS class but you've assigned a Person object to it here. Also, 'name' is a string but you're treating like an Array. I hope this helps. My advice is to start with the simplest example and then work from there. Cheers, Darren. On 27/2/10 6:35 AM, "Jacob Steinberger" <tre...@re...> wrote: > First, apologies for breaking threading. I don't have the email I want > to reply to, available to reply to =\ > > Darren, thanks for your comments. My output from PHP now looks like thus: > > Person Object > ( > [name] => one > [children] => ArrayCollection Object > ( > [_explicitType] => mx.collections.ArrayCollection > [source] => Array > ( > [0] => Person Object > ( > [name] => two > [children] => > [_explicitType] => Person > ) > > [1] => Person Object > ( > [name] => three > [children] => > [_explicitType] => Person > ) > > ) > > ) > > [_explicitType] => Person > ) > > It looks pretty good. But when I view it during a debug session within > Flex Builder, it shows up as stock arrays or objects (not as the VO). > Is this the expected result? What test can be done on the data inside > Flex to show that it was converted to Flex's VOs? > > I'm familiar with Charles, Wireshark, etc, and the data appears good > there. But again, when the data gets to Flex, it doesn't seem right. > > Jacob > > Quoting tre...@re...: > >> I've searched the internet, read at least a dozen blogs and tried a ton of >> variations of code to get class mapping to work. None of it does. It seems >> the vast majority of examples on the internet are code snippets, pieces and >> fragments - all with comments asking for a full code block because the >> examples aren't complete. >> >> I hope this list is the proper place to ask this kind of question as I'm >> at my wits end. I'd like to get this working and post a full example to the >> internet (even if I don't get indexed) just to have a place to point other >> people to that are having the same problem. >> >> php, services/vo: >> class Person { >> public $name; >> public $children; >> >> var $_explicitType="vo.Person"; >> function Person(){ >> } >> } >> >> php, services: >> function test3() { >> $array = new Person(); >> $array->name = 'one'; >> $array->children = new Person(); >> $array->children->name[] = 'two'; >> $array->children->name[] = 'three'; >> #$array['_explicitType'] = 'vo.Person'; >> #registerClassAlias("vo.Person",Person); >> return($array); >> } >> >> Person.as: >> package vo { >> import mx.collections.ArrayCollection; >> [Bindable][RemoteClass(alias="vo.Person")] >> public class Person{ >> >> public var name:String; >> public var children:ArrayCollection; >> >> public function Person(_name:String, _children:ArrayCollection = >> null){ >> this.name = _name; >> if(_children != null) >> this.children = _children; >> }//end Person constructor >> >> }//end Person class >> >> }//end package declaration >> >> I've tried every combination of _explicitType, registerClassAlias, and >> RemoteClass I've read about. Some sources say you need one, some say you >> need two, one even said you need all three. >> >> I'd appreciate any recommendation or pointing me to a working example that >> I could look at to see how it works for *someone*. >> >> Jacob >> > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > amfphp-general mailing list > amf...@li... > https://lists.sourceforge.net/lists/listinfo/amfphp-general |
From: Jacob S. <tre...@re...> - 2010-02-26 19:36:04
|
First, apologies for breaking threading. I don't have the email I want to reply to, available to reply to =\ Darren, thanks for your comments. My output from PHP now looks like thus: Person Object ( [name] => one [children] => ArrayCollection Object ( [_explicitType] => mx.collections.ArrayCollection [source] => Array ( [0] => Person Object ( [name] => two [children] => [_explicitType] => Person ) [1] => Person Object ( [name] => three [children] => [_explicitType] => Person ) ) ) [_explicitType] => Person ) It looks pretty good. But when I view it during a debug session within Flex Builder, it shows up as stock arrays or objects (not as the VO). Is this the expected result? What test can be done on the data inside Flex to show that it was converted to Flex's VOs? I'm familiar with Charles, Wireshark, etc, and the data appears good there. But again, when the data gets to Flex, it doesn't seem right. Jacob Quoting tre...@re...: > I've searched the internet, read at least a dozen blogs and tried a ton of > variations of code to get class mapping to work. None of it does. It seems > the vast majority of examples on the internet are code snippets, pieces and > fragments - all with comments asking for a full code block because the > examples aren't complete. > > I hope this list is the proper place to ask this kind of question as I'm > at my wits end. I'd like to get this working and post a full example to the > internet (even if I don't get indexed) just to have a place to point other > people to that are having the same problem. > > php, services/vo: > class Person { > public $name; > public $children; > > var $_explicitType="vo.Person"; > function Person(){ > } > } > > php, services: > function test3() { > $array = new Person(); > $array->name = 'one'; > $array->children = new Person(); > $array->children->name[] = 'two'; > $array->children->name[] = 'three'; > #$array['_explicitType'] = 'vo.Person'; > #registerClassAlias("vo.Person",Person); > return($array); > } > > Person.as: > package vo { > import mx.collections.ArrayCollection; > [Bindable][RemoteClass(alias="vo.Person")] > public class Person{ > > public var name:String; > public var children:ArrayCollection; > > public function Person(_name:String, _children:ArrayCollection = > null){ > this.name = _name; > if(_children != null) > this.children = _children; > }//end Person constructor > > }//end Person class > > }//end package declaration > > I've tried every combination of _explicitType, registerClassAlias, and > RemoteClass I've read about. Some sources say you need one, some say you > need two, one even said you need all three. > > I'd appreciate any recommendation or pointing me to a working example that > I could look at to see how it works for *someone*. > > Jacob > |