2013-09-12 2 views
0

В настоящее время я работаю над проектом Zend 2 и хочу использовать Doctrines FilesystemCache.Как использовать Doctrine 2 FileSystemCache width Zend 2

В моей 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 (/ вар/WWW/Webroot/данные/DoctrineModule/кэш/e4165aec32e5/87e827598d3b /bdef3af2/[File\Entity\[email protected][Annot]][1].doctrinecache.data): не удалось открыть поток: Недопустимый аргумент в/var/www/webroot/vendor/doctrine/common/lib/Doctrine/Общие/Cache/FilesystemCache.php на линии 111

ответ

0

Возможно вы Шоул использовать __NAMESPACE__ константа, а не __NAMESPACE

Там нет су ch directory

Смежные вопросы