bit3/contao-doctrine-dbal-driver

该包已被弃用且不再维护。作者建议使用 ContaoBlackForest/contao-doctrine-dbal-driver 包。

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

安装: 56

依赖: 0

建议者: 0

安全: 0

星星: 0

观察者: 2

分支: 1

类型:contao-module

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'] 定义缓存机制,可能的值有

apc 使用apc缓存
xcache 使用xcache缓存
memcache://<host>[:<port>] 在 <host>:<port> 上使用memcache缓存
redis://<host>[:<port>] 在 <host>:<port> 上使用redis缓存
redis://<socket> 在 <socket> 文件上使用redis缓存
array 使用数组缓存
false 禁用缓存

$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();
	}
}