Neuron-PHP

ConnectionFactory
in package

Factory for creating PDO database connections.

Centralizes database connection logic and supports multiple adapters (SQLite, MySQL, PostgreSQL).

Table of Contents

Methods

createFromConfig()  : PDO
Create a PDO connection from configuration array
createFromSettings()  : PDO
Create a PDO connection from SettingManager
initializeConnection()  : void
Initialize database-specific settings
initializeMysql()  : void
Initialize MySQL-specific settings
initializePostgresql()  : void
Initialize PostgreSQL-specific settings
initializeSqlite()  : void
Initialize SQLite-specific settings
parseUrl()  : array<string|int, mixed>
Parse a database URL into configuration array

Methods

createFromConfig()

Create a PDO connection from configuration array

public static createFromConfig(array<string|int, mixed> $config) : PDO

Supports both URL-based configuration and individual parameters. If 'url' is provided, it will be parsed and merged with individual parameters. Individual parameters take precedence over URL-parsed values.

Parameters
$config : array<string|int, mixed>

Database configuration

Tags
throws
Exception

if adapter is unsupported or configuration is invalid

Return values
PDO

createFromSettings()

Create a PDO connection from SettingManager

public static createFromSettings(SettingManager $settings) : PDO
Parameters
$settings : SettingManager
Tags
throws
Exception

if database configuration is missing or adapter is unsupported

Return values
PDO

initializeConnection()

Initialize database-specific settings

private static initializeConnection(PDO $pdo, string $adapter) : void
Parameters
$pdo : PDO
$adapter : string

initializeMysql()

Initialize MySQL-specific settings

private static initializeMysql(PDO $pdo) : void
Parameters
$pdo : PDO

initializePostgresql()

Initialize PostgreSQL-specific settings

private static initializePostgresql(PDO $pdo) : void
Parameters
$pdo : PDO

initializeSqlite()

Initialize SQLite-specific settings

private static initializeSqlite(PDO $pdo) : void
Parameters
$pdo : PDO

parseUrl()

Parse a database URL into configuration array

private static parseUrl(string $url) : array<string|int, mixed>

Supports common database URL formats:

  • postgresql://user:pass@host:5432/dbname?option=value
  • mysql://user:pass@host:3306/dbname?charset=utf8mb4
  • sqlite:///path/to/database.db or sqlite::memory:
Parameters
$url : string

Database URL

Tags
throws
Exception

if URL is malformed

Return values
array<string|int, mixed>

Parsed configuration


        
On this page

Search results