Starting with Doctrine 2.2, the Proxy classes have inconsistent naming with their file name, which raises problems with class autoloading.
For example, a class named Application\Model\User creates the following proxy class:
This class is located in the following file:
But whe we serialize such an entity, then unserialize it in another session, the framework autoloader expects the class to be located in:
But it is not.
As a result, a __PHP_Incomplete_Class is created instead of the expected proxy class.
I'm not sure whether this is an intended behavior, but I would assume this is a bug.