Zend Framework 2如何设置Doctrine 2代理目录

Ric*_*nop 7 php doctrine-orm zend-framework2

所以我在Zend Framework 2中使用了根据Jason Grimes的turorial(http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/)配置的Doctrine 2模块.

有时我会不断收到此错误:

Your proxy directory must be writable.
Run Code Online (Sandbox Code Playgroud)

如何设置代理目录?

这是我在module.config.php中的Doctrine配置:

'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'
            ),
        ),
    ),
),
Run Code Online (Sandbox Code Playgroud)

Dan*_*l M 20

默认代理目录是data/DoctrineORMModule/Proxy.我想你知道如何使它可写,对吧?

如果由于某种原因需要更改它,可以覆盖相应的配置键:

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

希望这可以帮助.