0

私は現在 Zend 2 プロジェクトに取り組んでおり、Doctrines FilesystemCache を使用したいと考えています。

私のmodule.config.phpには、次の行があります。

'doctrine'           => array(
    'driver' => array(
        __NAMESPACE__ . '_driver'    => array(
            'class'  => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
            'cache' => array(
                'filesystem' => array(
                    'class' => '\Doctrine\Common\Cache\FilesystemCache',
                    'directory' => __DIR__ . '/../data/cache/' . __NAMESPACE,
                )
            )
            'paths'  => array(__DIR__ . '/../src/' . __NAMESPACE__ . '  /Entity')
        ),
        'orm_default'                => array(

            'drivers' => array(
                __NAMESPACE__ . '\Entity' => __NAMESPACE__ .    '_driver'
            )
        )
    ),

上記の構成では、エンティティがキャッシュされず、次の通知が表示されます。

/webroot/vendor/doctrine/doctrine-module/src/DoctrineModule/Options/Driver.php の 90 行目の配列から文字列への変換

構成を単なる文字列に変更すると:

'cache' => 'filesystem'

FilesystemCache が私のエンティティをデフォルトの場所 (?) にキャッシュしようとしますが、次のような警告で失敗します:

警告: file_put_contents(/var/www/webroot/data/DoctrineModule/cache/e4165aec32e5/87e827598d3b/bdef3af2/[File\Entity\File$name@[Annot]][1].doctrinecache.data): ストリームを開けませんでした: /var/www/webroot/vendor/doctrine/common/lib/Doctrine/Common/Cache/FilesystemCache.php の 111 行目の無効な引数

4

1 に答える 1

0

おそらく、__NAMESPACE__定数ではなく定数を使用する必要があります__NAMESPACE

そのようなディレクトリはありません

于 2014-02-03T20:34:21.163 に答える