class ConnectionFactory (View source)

Traits

Properties

protected Container $container

The IoC container instance.

Methods

array
getDirectConfig(array $config)

Get the direct configuration for a connection.

array
mergeDirectConfig(array $config, array $merge)

Merge a configuration for a direct connection.

array
ensurePooledPostgresIsProperlyConfigured(array $config)

Ensure pooled PostgreSQL connections are configured correctly.

array
withEmulatedPrepares(array $config)

Stamp emulated prepares onto a connection configuration when not explicit.

bool
hasDirectConnection(array $config)

Determine if the configuration has a direct PostgreSQL connection.

__construct(Container $container)

Create a new connection factory instance.

make(array $config, string|null $name = null)

Establish a PDO connection based on the configuration.

array
parseConfig(array $config, string $name)

Parse and prepare the database configuration.

createSingleConnection(array $config)

Create a single database connection instance.

createReadWriteConnection(array $config)

Create a read / write database connection instance.

createReadPdo(array $config)

Create a new PDO instance for reading.

array
getReadConfig(array $config)

Get the read configuration for a read / write connection.

array
getWriteConfig(array $config)

Get the write configuration for a read / write connection.

array
getReadWriteConfig(array $config, string $type)

Get a read / write level configuration.

array
mergeReadWriteConfig(array $config, array $merge)

Merge a configuration for a read / write connection.

createDirectPdo(array $config)

Create a new PDO instance for direct connections.

createPdoResolver(array $config)

Create a new Closure that resolves to a PDO instance.

createPdoResolverWithHosts(array $config)

Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts.

array
parseHosts(array $config)

Parse the hosts configuration item into an array.

createPdoResolverWithoutHosts(array $config)

Create a new Closure that resolves to a PDO instance where there is no configured host.

createConnector(array $config)

Create a connector instance based on the configuration.

createConnection(string $driver, PDO|Closure $connection, string $database, string $prefix = '', array $config = [])

Create a new connection instance.

Details

protected array getDirectConfig(array $config)

Get the direct configuration for a connection.

Parameters

array $config

Return Value

array

protected array mergeDirectConfig(array $config, array $merge)

Merge a configuration for a direct connection.

Parameters

array $config
array $merge

Return Value

array

protected array ensurePooledPostgresIsProperlyConfigured(array $config)

Ensure pooled PostgreSQL connections are configured correctly.

Parameters

array $config

Return Value

array

protected array withEmulatedPrepares(array $config)

Stamp emulated prepares onto a connection configuration when not explicit.

Parameters

array $config

Return Value

array

protected bool hasDirectConnection(array $config)

Determine if the configuration has a direct PostgreSQL connection.

Parameters

array $config

Return Value

bool

__construct(Container $container)

Create a new connection factory instance.

Parameters

Container $container

Connection make(array $config, string|null $name = null)

Establish a PDO connection based on the configuration.

Parameters

array $config
string|null $name

Return Value

Connection

protected array parseConfig(array $config, string $name)

Parse and prepare the database configuration.

Parameters

array $config
string $name

Return Value

array

protected Connection createSingleConnection(array $config)

Create a single database connection instance.

Parameters

array $config

Return Value

Connection

protected Connection createReadWriteConnection(array $config)

Create a read / write database connection instance.

Parameters

array $config

Return Value

Connection

protected Closure createReadPdo(array $config)

Create a new PDO instance for reading.

Parameters

array $config

Return Value

Closure

protected array getReadConfig(array $config)

Get the read configuration for a read / write connection.

Parameters

array $config

Return Value

array

protected array getWriteConfig(array $config)

Get the write configuration for a read / write connection.

Parameters

array $config

Return Value

array

protected array getReadWriteConfig(array $config, string $type)

Get a read / write level configuration.

Parameters

array $config
string $type

Return Value

array

protected array mergeReadWriteConfig(array $config, array $merge)

Merge a configuration for a read / write connection.

Parameters

array $config
array $merge

Return Value

array

protected Closure createDirectPdo(array $config)

Create a new PDO instance for direct connections.

Parameters

array $config

Return Value

Closure

protected Closure createPdoResolver(array $config)

Create a new Closure that resolves to a PDO instance.

Parameters

array $config

Return Value

Closure

protected Closure createPdoResolverWithHosts(array $config)

Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts.

Parameters

array $config

Return Value

Closure

Exceptions

PDOException

protected array parseHosts(array $config)

Parse the hosts configuration item into an array.

Parameters

array $config

Return Value

array

Exceptions

InvalidArgumentException

protected Closure createPdoResolverWithoutHosts(array $config)

Create a new Closure that resolves to a PDO instance where there is no configured host.

Parameters

array $config

Return Value

Closure

ConnectorInterface createConnector(array $config)

Create a connector instance based on the configuration.

Parameters

array $config

Return Value

ConnectorInterface

Exceptions

InvalidArgumentException

protected Connection createConnection(string $driver, PDO|Closure $connection, string $database, string $prefix = '', array $config = [])

Create a new connection instance.

Parameters

string $driver
PDO|Closure $connection
string $database
string $prefix
array $config

Return Value

Connection

Exceptions

InvalidArgumentException

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.