[DCOM-96] Extract a common ProxyFactory Created: 12/Feb/12  Updated: 10/Jan/13  Resolved: 10/Jan/13

Status: Resolved
Project: Doctrine Common
Component/s: None
Affects Version/s: None
Fix Version/s: 2.4

Type: New Feature Priority: Major
Reporter: Christophe Coevoet Assignee: Marco Pivetta
Resolution: Fixed Votes: 1
Labels: None


 Description   

Currently, each Doctrine project implements its own ProxyFactory. But the most part of the logic is simply copy-pasted from the ORM implementation (or from an older version of the ORM implementation). Extracting the common code would be a good idea to avoid having to maintain 4 places (or even more) containing the same logic



 Comments   
Comment by Marco Pivetta [ 22/Oct/12 ]

I have a working implementation of public properties lazy loading at https://github.com/Ocramius/doctrine2/compare/master...DCOM-96-restarted

I am still trying to figure out performance issues, since this PR adds 5% overhead on top of Hydrators/Persisters/UnitOfWork, since it turned out that

$reflectionProperty->getValue($object);

actually triggers PHP's magic __get method.
I've worked this around by assuming nulls when values are not set, but this adds some conditionals that obviously slow down all the extraction of values process.

Generated at Tue Nov 25 22:27:39 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.