. */ namespace Doctrine\DBAL; use Doctrine\DBAL\Logging\SQLLogger; use Doctrine\Common\Cache\Cache; /** * Configuration container for the Doctrine DBAL. * * @since 2.0 * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel * @internal When adding a new configuration option just write a getter/setter * pair and add the option to the _attributes array with a proper default value. */ class Configuration { /** * The attributes that are contained in the configuration. * Values are default values. * * @var array */ protected $_attributes = array(); /** * Sets the SQL logger to use. Defaults to NULL which means SQL logging is disabled. * * @param SQLLogger $logger */ public function setSQLLogger(SQLLogger $logger = null) { $this->_attributes['sqlLogger'] = $logger; } /** * Gets the SQL logger that is used. * * @return SQLLogger */ public function getSQLLogger() { return isset($this->_attributes['sqlLogger']) ? $this->_attributes['sqlLogger'] : null; } /** * Gets the cache driver implementation that is used for query result caching. * * @return \Doctrine\Common\Cache\Cache */ public function getResultCacheImpl() { return isset($this->_attributes['resultCacheImpl']) ? $this->_attributes['resultCacheImpl'] : null; } /** * Sets the cache driver implementation that is used for query result caching. * * @param \Doctrine\Common\Cache\Cache $cacheImpl */ public function setResultCacheImpl(Cache $cacheImpl) { $this->_attributes['resultCacheImpl'] = $cacheImpl; } /** * Filter schema assets expression. * * Only include tables/sequences matching the filter expression regexp in * schema instances generated for the active connection when calling * {AbstractSchemaManager#createSchema()}. * * @param string $filterExpression */ public function setFilterSchemaAssetsExpression($filterExpression) { $this->_attributes['filterSchemaAssetsExpression'] = $filterExpression; } /** * Return filter schema assets expression. * * @return string|null */ public function getFilterSchemaAssetsExpression() { if (isset($this->_attributes['filterSchemaAssetsExpression'])) { return $this->_attributes['filterSchemaAssetsExpression']; } return null; } }