Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Component/s: None
    • 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

        Activity

        Hide
        Marco Pivetta added a comment -

        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.

        Show
        Marco Pivetta added a comment - 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.

          People

          • Assignee:
            Marco Pivetta
            Reporter:
            Christophe Coevoet
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: