Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1076

It should be possible to supply EntityManager with a custom ProxyFactory

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Trivial Trivial
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None

      Description

      It is plausible that one might want to handle the loading of proxy classes in their own way, perhaps not using the filename/class scheme doctrine currently comes with.

      Currently the only way to provide your own implementation of ProxyFactory is to subclass EntityManager. Even this is not clean since one also must copy/paste the EntityManager::create factory method to get identical behavior.

      It would be nice if there was a ProxyFactory interface and one could provide an instance of it to Doctrine\ORM\Configuration when creating an EntityManager.

        Activity

        Hide
        David Reisch added a comment -

        Hi,
        I think allowing users to specify their own implementations for things is pretty essential for a library, especially when there is no cost in complexity or implementation.

        Anyhow, here's my pitch:

        I personally do not like using inheritance for proxies (it feels hackish to me), preferring instead to have interfaces for my Business Objects which the proxies implement. To that end, I do not generate my proxies with doctrine, but maintain my own, in my code base, and the class files do not necessarily match up to the doctrine ProxyFactory's assumptions about where to find the classes.

        Regards,

        Show
        David Reisch added a comment - Hi, I think allowing users to specify their own implementations for things is pretty essential for a library, especially when there is no cost in complexity or implementation. Anyhow, here's my pitch: I personally do not like using inheritance for proxies (it feels hackish to me), preferring instead to have interfaces for my Business Objects which the proxies implement. To that end, I do not generate my proxies with doctrine, but maintain my own, in my code base, and the class files do not necessarily match up to the doctrine ProxyFactory's assumptions about where to find the classes. Regards,
        Hide
        Benjamin Eberlei added a comment -

        Can you elaborate on your use-case? proxies are sorft of a by product, to be genreated in a temporary cache directory. I don't see why one should bother about how it is done.

        Show
        Benjamin Eberlei added a comment - Can you elaborate on your use-case? proxies are sorft of a by product, to be genreated in a temporary cache directory. I don't see why one should bother about how it is done.
        Hide
        David Reisch added a comment -

        I would be happy to contribute a patch to this end.

        Show
        David Reisch added a comment - I would be happy to contribute a patch to this end.

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            David Reisch
          • Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: