禁用教义缓存和代理

时间:2019-03-13 15:21:31

标签: caching doctrine-orm proxy

在开发过程中如何禁用所有教义缓存和代理使用?它对我的IDE造成了严重破坏。我的配置如下所示。另外,为了让我更好地了解正在发生的事情,请描述缓存和代理之间的区别。谢谢

$settings=$cnt['settings']['doctrine'];
syslog(LOG_INFO, json_encode($settings));

$cache = $settings['dev_mode']
?new \Doctrine\Common\Cache\ArrayCache
:new \Doctrine\Common\Cache\ApcuCache;

$config = new \Doctrine\ORM\Configuration();

$config->setMetadataCacheImpl($cache);

$driver = new \Doctrine\ORM\Mapping\Driver\XmlDriver($settings['metadata_xml']);
$config->setMetadataDriverImpl($driver);

$config->setQueryCacheImpl($cache);

if($settings['proxy_namespace']) {
    $config->setProxyDir($settings['proxy_dir']);
    $config->setProxyNamespace($settings['proxy_namespace']);
}

$config->setAutoGenerateProxyClasses($settings['dev_mode']);

return EntityManager::create($settings['connection'], $config);


{
    "dev_mode": true,
    "cache_dir": "/var/www/app/var/doctrine/cache",
    "proxy_dir": "/var/www/app/var/doctrine/proxy",
    "proxy_namespace": "Proxy",
    "metadata_xml": ["/var/www/app/config/orm"],
    "connection": {
        "dbname": "mydbname",
        "user": "myuser",
        "password": "mypassword",
        "host": "localhost",
        "port": 3306,
        "driver": "pdo_mysql",
        "charset": "utf8mb4"
    }
}

0 个答案:

没有答案