Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1186

Proxy Objects are incompatible with Serialization

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None

      Description

      Lazy-loading users is impossible atm if you want to serialize them at some point, and they are using private member variables.

      My suggestion is to check whether the proxied class implements the Serializable interface, and in these cases instead of implementing a __sleep method, a serialize/unserialize method should be implemented instead.

      Something like:

      public function serialize()

      { return serialize(array($this->__isInitialized__, parent::serialize())); }

      public function unserialize($str)

      { list($this->__initialized__, $parentStr) = unserialize($str); parent::unserialize($parentStr); }

      At the moment, this makes Doctrine Proxy objects incompatible with the Symfony Security component, and if possible it should be fixed for the 2.1 release. If you need help on this, let me know.

        Activity

        Hide
        Johannes Schmitt added a comment -

        Closing this, not sure what I was debugging there, the problem is a Symfony one

        Show
        Johannes Schmitt added a comment - Closing this, not sure what I was debugging there, the problem is a Symfony one

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Johannes Schmitt
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: