contaoblackforest/contao-doctrine-dbal-driver

Contao开源CMS使用的Doctrine DBAL数据库驱动程序

3.2.2 2015-06-10 07:02 UTC

README

要使用此数据库驱动程序,请更改您的system/config/localconfig.php中的驱动程序

$GLOBALS['TL_CONFIG']['dbDriver'] = 'DoctrineMySQL';

配置缓存

默认情况下,该驱动程序使用数组缓存(相当于contao)。但可以通过$GLOBALS['TL_CONFIG']['dbCache']$GLOBALS['TL_CONFIG']['dbCacheTTL']$GLOBALS['TL_CONFIG']['dbCacheName']来配置缓存。

$GLOBALS['TL_CONFIG']['dbCache']定义缓存机制,可能的值有

$GLOBALS['TL_CONFIG']['dbCacheTTL']是一个整数值,它定义了生存时间(默认值是后端1秒,前端15秒)。

$GLOBALS['TL_CONFIG']['dbCacheName']是一个字符串,用于唯一标识缓存条目。如果您有一个共享缓存,如memcache,这将很有用(默认值是md5(/absolute/path/to/bit3/contao-doctrine-dbal-driver/src/Contao/Doctrine/Driver/MySQL/Statement.php))。

前端和后端的不同缓存

您可以在每个缓存配置键中添加_FE_BE,以定义前端和后端的不同缓存。例如,$GLOBALS['TL_CONFIG']['dbCache_FE']定义了前端缓存机制,而$GLOBALS['TL_CONFIG']['dbCacheTTL_BE']定义了后端缓存的生存时间。

访问Doctrine DBAL连接

如果您已安装bit3/contao-doctrine-dbal,您应使用依赖注入容器

class MyClass
{
	public function myFunc()
	{
		global $container;
		/** @var \Doctrine\DBAL\Connection $connection */
		$connection = $container['doctrine.connection.default'];

		$connection->query('...');
	}
}

或者您可以从数据库实例获取连接

class MyClass
{
	public function myFunc()
	{
		/** @var \Doctrine\DBAL\Connection $connection */
		$connection = Database::getInstance()->getConnection();
	}
}