ConnectionPool

Manager that handles opening/retrieving database connections.

It's a facade to the actual Doctrine DBAL DriverManager that implements TYPO3 specific functionality like mapping individual tables to different database connections.

getConnectionForTable() is the only supported way to get a connection that honors the table mapping configuration.

Table of Contents

Constants

DEFAULT_CONNECTION_NAME  = 'Default'

Properties

$connections  : array<string|int, Connection>
$customDoctrineTypes  : array<string|int, mixed>
$driverMap  : array<string|int, string>
List of custom drivers and their mappings to the driver classes.

Methods

getConnectionByName()  : Connection
Creates a connection object based on the specified identifier.
getConnectionForTable()  : Connection
Creates a connection object based on the specified table name.
getConnectionNames()  : array<string|int, mixed>
Returns an array containing the names of all currently configured connections.
getCustomDoctrineTypes()  : array<string|int, mixed>
Returns the list of custom Doctrine data types implemented by TYPO3.
getQueryBuilderForTable()  : QueryBuilder
Returns the connection specific query builder object that can be used to build complex SQL queries using and object oriented approach.
resetConnections()  : void
Reset internal list of connections.
getDatabaseConnection()  : Connection
Creates a connection object based on the specified parameters
mapCustomDriver()  : array<string|int, mixed>
Map custom driver class for certain driver

Constants

DEFAULT_CONNECTION_NAME

public string DEFAULT_CONNECTION_NAME = 'Default'

Properties

$customDoctrineTypes

protected array<string|int, mixed> $customDoctrineTypes = [\TYPO3\CMS\Core\Database\Schema\Types\EnumType::TYPE => \TYPO3\CMS\Core\Database\Schema\Types\EnumType::class, \TYPO3\CMS\Core\Database\Schema\Types\SetType::TYPE => \TYPO3\CMS\Core\Database\Schema\Types\SetType::class]

$driverMap

List of custom drivers and their mappings to the driver classes.

protected static array<string|int, string> $driverMap = ['pdo_mysql' => \TYPO3\CMS\Core\Database\Driver\PDOMySql\Driver::class, 'pdo_sqlite' => \TYPO3\CMS\Core\Database\Driver\PDOSqlite\Driver::class, 'pdo_pgsql' => \TYPO3\CMS\Core\Database\Driver\PDOPgSql\Driver::class, 'pdo_sqlsrv' => \TYPO3\CMS\Core\Database\Driver\PDOSqlsrv\Driver::class]

Methods

getConnectionByName()

Creates a connection object based on the specified identifier.

public getConnectionByName(string $connectionName) : Connection

This method should only be used in edge cases. Use getConnectionForTable() so that the tablename<>databaseConnection mapping will be taken into account.

Parameters
$connectionName : string
Tags
throws
Exception
Return values
Connection

getConnectionForTable()

Creates a connection object based on the specified table name.

public getConnectionForTable(string $tableName) : Connection

This is the official entry point to get a database connection to ensure that the mapping of table names to database connections is honored.

Parameters
$tableName : string
Return values
Connection

getConnectionNames()

Returns an array containing the names of all currently configured connections.

public getConnectionNames() : array<string|int, mixed>

This method should only be used in edge cases. Use getConnectionForTable() so that the tablename<>databaseConnection mapping will be taken into account.

Internal
Return values
array<string|int, mixed>

getCustomDoctrineTypes()

Returns the list of custom Doctrine data types implemented by TYPO3.

public getCustomDoctrineTypes() : array<string|int, mixed>

This method is needed by the Schema parser to register the types as it does not require a database connection and thus the types don't get registered automatically.

Internal
Return values
array<string|int, mixed>

getQueryBuilderForTable()

Returns the connection specific query builder object that can be used to build complex SQL queries using and object oriented approach.

public getQueryBuilderForTable(string $tableName) : QueryBuilder
Parameters
$tableName : string
Return values
QueryBuilder

resetConnections()

Reset internal list of connections.

public resetConnections() : void

Currently primarily used in functional tests to close connections and start new ones in between single tests.

getDatabaseConnection()

Creates a connection object based on the specified parameters

protected getDatabaseConnection(array<string|int, mixed> $connectionParams) : Connection
Parameters
$connectionParams : array<string|int, mixed>
Return values
Connection

mapCustomDriver()

Map custom driver class for certain driver

protected mapCustomDriver(array<string|int, mixed> $connectionParams) : array<string|int, mixed>
Parameters
$connectionParams : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results