2015-04-18 53 views
0

我一直想知道如何在開發環境中打開和關閉DoctrineModule緩存。ZF2&Doctrine ORM - 如何關閉DoctrineModule緩存

目前我的查詢緩存,存儲在數據/ DoctrineModule /緩存文件夾,當錯誤檢測這可能會導致便祕:)

基本上我想有緩存設置爲我的生產環境和關閉我的開發環境,並做到這一點顯然我需要正確的配置設置,並有一個本地/全局配置設置來解決這個問題。

這裏的文件的存儲位置的截圖:

enter image description here

以下是我的測試配置文件:

<?php 
return [ 
    'doctrine' => [ 
     'connection' => [ 
      'orm_default' => [ 
       'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver', 
       'params' => [ 
        'host'  => 'localhost', 
        'port'  => '3306', 
        'user'  => 'pw1', 
        'password' => 'pw1', 
        'dbname' => 'server', 
        'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock' //To use Doctrine Entity Generator 
       ] 
      ] 
     ], 
     'eventmanager' => [ 
      'orm_default' => [ 
       'subscribers' => [ 
        'Gedmo\Timestampable\TimestampableListener', 
       ], 
      ], 
     ], 
     'configuration' => [ 
      'orm_default' => [ 
       'naming_strategy' => 'UnderscoreNamingStrategy', 
      ], 
     ], 
     'authentication' => [ 
      'orm_default' => [ 
       'object_manager' => 'Doctrine\ORM\EntityManager', 
       'identity_class' => 'RoleBasedUser\Entity\User', 
       'identity_property' => 'email', 
       'credential_property' => 'password', 
       'credential_callable' => function(\RoleBasedUser\Entity\User $user, $passwordGiven) { 
         $hashedPassword = $user->getPassword(); 
         $passwordService = new \RoleBasedUser\Service\PasswordService(); 
         return $passwordService->verify($passwordGiven, $hashedPassword); 

        }, 
      ], 
     ], 
    ] 
]; 

我肯定我需要添加一個配置,其中儘管我不確定。

謝謝!

+0

我在文檔中看不到配置標誌來關閉緩存。您可能需要注入一個虛擬或空緩存適配器才能實現您要查找的內容。 –

回答

0

好的,這已經制定出來了。

在我的module.config.php文件中,我將doctrine驅動程序設置爲cache => filesystem,我將其更改爲array,現在問題已解決。

'doctrine'   => [ 
    'driver' => [ 
     'RBU_driver' => [ 
      'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 
      //cache => 'filesystem', <-- this will cache into the data/DoctrineModule 
      'cache' => 'array', //<-- this will not cache... 
      'paths' => [ 
       __DIR__ . '/../src/RoleBasedUser/Entity' 
      ] 
     ], 
     'orm_default' => [ 
      'drivers' => [ 
       'RoleBasedUser\Entity' => 'RBU_driver' 
      ] 
     ] 
    ], 
],