Hi Luis, I solved the problem. Before making the summary I must point that Tim was reffering to what I thoght was "Serializable" about erroneously, sorry, my fault :D
What I found (I have to start reading docs more deeply :P): The PHP bible says: "serialize() checks if your class has a function with the magic name __sleep. If so, that function is executed prior to any serialization. It can clean up the object and is supposed to return an array with the names of all variables of that object that should be serialized. If the method doesn't return anything then NULL is serialized and E_NOTICE is issued." E_NOTICE is what I was getting in dev enviroment when trying to serialize an entity object that has reference to another entity object (due to associations). The serializations succeeded but I was getting that buggy message >:( The PHP bible says: "It is not possible for __sleep to return names of private properties in parent classes. Doing this will result in an E_NOTICE level error. Instead you may use the Serializableinterface." So I found that Doctrine (I think in proxies) use the magic function "__sleep()", so "serialize()" function exectues _sleep() method first, and expect it to return the object's properties, but if they are private it will fail, so if you change them to protected it will succeed. But changing properties scope is clumsy. \Serializable interface is the solution, and this is the "how" IMHO :D Class object implements \Serializable { private $name; private $address = array(); public function serialize() { return $data = array('name' => $this->name, 'address' => $this->address; } public function unserialize($serialized) { $data = unserialize($serialized); $this->name = $data['name']; $this->address = $data['address']; } //setters and getters for $name and $address } Class object must implement \Serializable, this way when serializing/unserializing the object, this will trigger the look for its two abstract implementation methods: serialize() and unserialize() This way, "serialize" will have access to private members for serialization, and when "unserialize" will look for the object's method "unserialize" and will set unserialized $data to its private members. Both methods are like bridges to the private members. Notice that if Object A has a reference to Object B (like in associations) Object B has to implement \Serializabe as well. And hope this help someone when having this same issue (that has nothing to do with the framework itself, but PHP ) Regards! 2011/5/15 Luis Cordova <cordo...@gmail.com> > nobody is doubting that Tim > > On Sun, May 15, 2011 at 7:48 PM, Tim Nagel <t...@nagel.com.au> wrote: > > They're talking about: http://php.net/manual/en/class.serializable.php > > > > Not the Serializer component in Symfony2. > > > > > > t > > > > > > On Mon, May 16, 2011 at 08:52, oscar balladares <liebegr...@gmail.com> > wrote: > >> I'm having this problem too. Core Devs suggest to implement Serializable > >> interface. > >> Symfony has Serializer classes and Interfaces, but I still dont know how > to > >> implement it/them. > >> If you are lucky, please share what you have found, if any. > >> Regards! > >> > >> 2011/5/11 Luis Cordova <cordo...@gmail.com> > >>> > >>> right but this was not what was happening. > >>> I had a chain of entities, and they all were entities, regular POPOs. > >>> And I had to implement serialize method for one of them for this thing > >>> to work. > >>> > >>> On Wed, May 11, 2011 at 2:19 AM, Marco Pivetta <ocram...@gmail.com> > wrote: > >>> > The ORM uses proxy classes internally. Thus, while working with the > >>> > proxies > >>> > (when you load stuff from DB you usually receive a proxy from the > Object > >>> > Hydrator), you don't have access to private vars defined in your > >>> > entities. > >>> > That's why serialization of a proxy fails (and you should not > serialize > >>> > proxies! detach them from the entity manager first to get a clean > POPO!) > >>> > > >>> > Marco Pivetta > >>> > @Ocramius > >>> > http://marco-pivetta.com > >>> > > >>> > > >>> > > >>> > On 11 May 2011 01:10, Christophe COEVOET <s...@notk.org> wrote: > >>> >> > >>> >> Le 10/05/2011 13:25, AndyPI a écrit : > >>> >>> > >>> >>> Don't know if it helps, but changing my variables from 'private' to > >>> >>> 'protected' in Symfony2 entities removed this problem for me. > >>> >>> > >>> >>> The Symfony2 docs use protected in their examples, but the console > >>> >>> generates variables as private. Something to look at? > >>> >> > >>> >> The Doctrine doc advices to use the \Serializable interface: > >>> >> > >>> >> > http://www.doctrine-project.org/docs/orm/2.0/en/reference/architecture.html > >>> >> > >>> >> -- > >>> >> Christophe | Stof > >>> >> > >>> >> -- > >>> >> If you want to report a vulnerability issue on symfony, please send > it > >>> >> to > >>> >> security at symfony-project.com > >>> >> > >>> >> You received this message because you are subscribed to the Google > >>> >> Groups "symfony users" group. > >>> >> To post to this group, send email to symfony-users@googlegroups.com > >>> >> To unsubscribe from this group, send email to > >>> >> symfony-users+unsubscr...@googlegroups.com > >>> >> For more options, visit this group at > >>> >> http://groups.google.com/group/symfony-users?hl=en > >>> > > >>> > -- > >>> > If you want to report a vulnerability issue on symfony, please send > it > >>> > to > >>> > security at symfony-project.com > >>> > > >>> > You received this message because you are subscribed to the Google > >>> > Groups "symfony users" group. > >>> > To post to this group, send email to symfony-users@googlegroups.com > >>> > To unsubscribe from this group, send email to > >>> > symfony-users+unsubscr...@googlegroups.com > >>> > For more options, visit this group at > >>> > http://groups.google.com/group/symfony-users?hl=en > >>> > > >>> > >>> -- > >>> If you want to report a vulnerability issue on symfony, please send it > to > >>> security at symfony-project.com > >>> > >>> You received this message because you are subscribed to the Google > >>> Groups "symfony users" group. > >>> To post to this group, send email to symfony-users@googlegroups.com > >>> To unsubscribe from this group, send email to > >>> symfony-users+unsubscr...@googlegroups.com > >>> For more options, visit this group at > >>> http://groups.google.com/group/symfony-users?hl=en > >> > >> -- > >> If you want to report a vulnerability issue on symfony, please send it > to > >> security at symfony-project.com > >> > >> You received this message because you are subscribed to the Google > >> Groups "symfony users" group. > >> To post to this group, send email to symfony-users@googlegroups.com > >> To unsubscribe from this group, send email to > >> symfony-users+unsubscr...@googlegroups.com > >> For more options, visit this group at > >> http://groups.google.com/group/symfony-users?hl=en > >> > > > > -- > > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > > > You received this message because you are subscribed to the Google > > Groups "symfony users" group. > > To post to this group, send email to symfony-users@googlegroups.com > > To unsubscribe from this group, send email to > > symfony-users+unsubscr...@googlegroups.com > > For more options, visit this group at > > http://groups.google.com/group/symfony-users?hl=en > > > > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony users" group. > To post to this group, send email to symfony-users@googlegroups.com > To unsubscribe from this group, send email to > symfony-users+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/symfony-users?hl=en > -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en