本文整理汇总了PHP中Doctrine\ORM\Configuration::getSecondLevelCacheConfiguration方法的典型用法代码示例。如果您正苦于以下问题:PHP Configuration::getSecondLevelCacheConfiguration方法的具体用法?PHP Configuration::getSecondLevelCacheConfiguration怎么用?PHP Configuration::getSecondLevelCacheConfiguration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Configuration
的用法示例。
在下文中一共展示了Configuration::getSecondLevelCacheConfiguration方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testSetGetSecondLevelCacheConfig
/**
* @group DDC-2183
*/
public function testSetGetSecondLevelCacheConfig()
{
$mockClass = $this->getMock('Doctrine\\ORM\\Cache\\CacheConfiguration');
$this->assertNull($this->configuration->getSecondLevelCacheConfiguration());
$this->configuration->setSecondLevelCacheConfiguration($mockClass);
$this->assertEquals($mockClass, $this->configuration->getSecondLevelCacheConfiguration());
}
示例2: __construct
/**
* Creates a new EntityManager that operates on the given database connection
* and uses the given Configuration and EventManager implementations.
*
* @param \Doctrine\DBAL\Connection $conn
* @param \Doctrine\ORM\Configuration $config
* @param \Doctrine\Common\EventManager $eventManager
*/
protected function __construct(Connection $conn, Configuration $config, EventManager $eventManager)
{
$this->conn = $conn;
$this->config = $config;
$this->eventManager = $eventManager;
$metadataFactoryClassName = $config->getClassMetadataFactoryName();
$this->metadataFactory = new $metadataFactoryClassName();
$this->metadataFactory->setEntityManager($this);
$this->metadataFactory->setCacheDriver($this->config->getMetadataCacheImpl());
$this->repositoryFactory = $config->getRepositoryFactory();
$this->unitOfWork = new UnitOfWork($this);
$this->proxyFactory = new ProxyFactory($this, $config->getProxyDir(), $config->getProxyNamespace(), $config->getAutoGenerateProxyClasses());
if ($config->isSecondLevelCacheEnabled()) {
$cacheClass = $config->getSecondLevelCacheConfiguration()->getCacheClassName();
$this->cache = new $cacheClass($this);
}
}
示例3: setSecondLevelCaching
/**
* @param Configuration $configuration
*/
protected function setSecondLevelCaching(Configuration $configuration)
{
if ($this->config->get('doctrine.cache.second_level', false)) {
$configuration->setSecondLevelCacheEnabled(true);
$cacheConfig = $configuration->getSecondLevelCacheConfiguration();
$cacheConfig->setCacheFactory(new DefaultCacheFactory($cacheConfig->getRegionsConfiguration(), $this->cache->driver()));
}
}
示例4: applySecondLevelCacheSettingsToConfiguration
/**
* Apply configured settings regarding Doctrine's second level cache.
*
* @param array $configuredSettings
* @param Configuration $doctrineConfiguration
* @return void
*/
protected function applySecondLevelCacheSettingsToConfiguration(array $configuredSettings, Configuration $doctrineConfiguration)
{
if (!isset($configuredSettings['enable']) || $configuredSettings['enable'] !== true) {
return;
}
$doctrineConfiguration->setSecondLevelCacheEnabled();
$regionsConfiguration = $doctrineConfiguration->getSecondLevelCacheConfiguration()->getRegionsConfiguration();
if (isset($configuredSettings['defaultLifetime'])) {
$regionsConfiguration->setDefaultLifetime($configuredSettings['defaultLifetime']);
}
if (isset($configuredSettings['defaultLockLifetime'])) {
$regionsConfiguration->setDefaultLockLifetime($configuredSettings['defaultLockLifetime']);
}
if (isset($configuredSettings['regions']) && is_array($configuredSettings['regions'])) {
foreach ($configuredSettings['regions'] as $regionName => $regionLifetime) {
$regionsConfiguration->setLifetime($regionName, $regionLifetime);
}
}
$cache = new CacheAdapter();
// must use ObjectManager in compile phase...
$cache->setCache($this->objectManager->get(CacheManager::class)->getCache('Flow_Persistence_Doctrine_SecondLevel'));
$factory = new \Doctrine\ORM\Cache\DefaultCacheFactory($regionsConfiguration, $cache);
$doctrineConfiguration->getSecondLevelCacheConfiguration()->setCacheFactory($factory);
}