Doctrine Common
  1. Doctrine Common
  2. DCOM-210

ProxyFactory: Modes for NEVER, FILE_NOT_EXISTS, ALWAYS

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Component/s: None
    • Labels:
      None

      Activity

      Hide
      Marco Pivetta added a comment -
      Show
      Marco Pivetta added a comment - Implemented in https://github.com/doctrine/common/pull/291 - ( DCOM-209 )
      Hide
      Matthieu Napoli added a comment -

      Any docs?

      It seems that it can't be used with Doctrine\ORM\Configuration

      Show
      Matthieu Napoli added a comment - Any docs? It seems that it can't be used with Doctrine\ORM\Configuration
      Hide
      Marco Pivetta added a comment -

      I think this should work in v2.4.0: see https://github.com/doctrine/doctrine2/blob/v2.4.0/lib/Doctrine/ORM/EntityManager.php#L163

      I'll open an issue to document these new flags

      Show
      Marco Pivetta added a comment - I think this should work in v2.4.0: see https://github.com/doctrine/doctrine2/blob/v2.4.0/lib/Doctrine/ORM/EntityManager.php#L163 I'll open an issue to document these new flags
      Hide
      Marco Pivetta added a comment -

      Created DDC-2664

      Show
      Marco Pivetta added a comment - Created DDC-2664
      Hide
      Matthieu Napoli added a comment -

      Actually found it, it's not documented and not really foolproof:

      $doctrineConfig = new Doctrine\ORM\Configuration();
      $doctrineConfig->setAutoGenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_EVAL);
      

      However it will not work if the proxy autoloader is registered (which was necessary before, so if you forget to remove it, you'll get confusing errors that the proxy file can't be found), and you need to set a proxy dir else there's an exception:

      exception 'Doctrine\Common\Proxy\Exception\InvalidArgumentException' with message 'You must configure a proxy directory. See docs for details'
      
      $doctrineConfig->setProxyDir('/tmp/proxies');
      

      The docs needs updating, both in code and on the website. If I find some time today I'll try to do it.

      Show
      Matthieu Napoli added a comment - Actually found it, it's not documented and not really foolproof: $doctrineConfig = new Doctrine\ORM\Configuration(); $doctrineConfig->setAutoGenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_EVAL); However it will not work if the proxy autoloader is registered (which was necessary before, so if you forget to remove it, you'll get confusing errors that the proxy file can't be found), and you need to set a proxy dir else there's an exception: exception 'Doctrine\Common\Proxy\Exception\InvalidArgumentException' with message 'You must configure a proxy directory. See docs for details' $doctrineConfig->setProxyDir('/tmp/proxies'); The docs needs updating, both in code and on the website. If I find some time today I'll try to do it.
      Hide
      Matthieu Napoli added a comment -

      Woops, commented at the same time, will copy my comment to the other ticket for better tracking.

      Show
      Matthieu Napoli added a comment - Woops, commented at the same time, will copy my comment to the other ticket for better tracking.
      Hide
      Doctrine Bot added a comment -

      A related Github Pull-Request [GH-783] was closed:
      https://github.com/doctrine/doctrine2/pull/783

      Show
      Doctrine Bot added a comment - A related Github Pull-Request [GH-783] was closed: https://github.com/doctrine/doctrine2/pull/783
      Hide
      Doctrine Bot added a comment -

      A related Github Pull-Request [GH-782] was closed:
      https://github.com/doctrine/doctrine2/pull/782

      Show
      Doctrine Bot added a comment - A related Github Pull-Request [GH-782] was closed: https://github.com/doctrine/doctrine2/pull/782

        People

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

          Dates

          • Created:
            Updated:
            Resolved: