Home » Php » php – Zend Framework 2 How To Set Doctrine 2 Proxy Directory

php – Zend Framework 2 How To Set Doctrine 2 Proxy Directory

Posted by: admin July 12, 2020 Leave a comment

Questions:

So I am using Doctrine 2 module in Zend Framework 2 configured according to Jason Grimes’ turorial (http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/).

Sometimes I keep getting this error though:

Your proxy directory must be writable.

How can I set the proxy directory?

Here is my Doctrine configuration from module.config.php:

'doctrine' => array(
    'driver' => array(
        __NAMESPACE__ . '_driver' => array(
            'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
            'cache' => 'array',
            'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
        ),
        'orm_default' => array(
            'drivers' => array(
                __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
            ),
        ),
    ),
),
How to&Answers:

The default proxy directory is data/DoctrineORMModule/Proxy. I guess you know how to make it writable, right?

If you need to change it for some reason, you can overwrite the appropriate configuration key:

<?php
return array(
    'doctrine' => array(
        'configuration' => array(
            '<YOUR DRIVER NAME (orm_default by default)>' => array(
                'proxy_dir' => 'data/DoctrineORMModule/Proxy',
                'proxy_namespace' => 'DoctrineORMModule\Proxy',
            )    
        )
    )
);
?>

Hope this helps.