/** * To initialize the first connection you need at least the PDO parameters in a assoc array * It's possible to use more parameters. Here ist the complete array * * $config = [ * EQM::CONVENTION_HANDLER => <object that implements ConventionHandlerInterface> * EQM::SQL_BUILDER => <object that implements SqlBuilderInterface> * ] * * @param \PDO $pdo a valid PDO connection object * @param array $config allowed keys [result_Set_class (class name) * convention_handler (object), sql_builder (object)] * @param string $connectionName optional for multiple connections 'default' is the standard */ public static function initialize($pdo, $config = [], $connectionName = 'default') { parent::initialize($pdo, $config, $connectionName); static::$metaCache[$connectionName] = []; if (array_key_exists(static::CONVENTION_HANDLER, $config) && $config[static::CONVENTION_HANDLER] instanceof ConventionHandlerInterface) { static::$conventionHandler[$connectionName] = $config[EQM::CONVENTION_HANDLER]; } else { static::$conventionHandler[$connectionName] = new DefaultConventionHandler(); } if (array_key_exists(static::SQL_BUILDER, $config) && $config[static::SQL_BUILDER] instanceof SqlBuilderInterface) { static::$sqlBuilder[$connectionName] = $config[static::SQL_BUILDER]; } else { static::$sqlBuilder[$connectionName] = new MySqlBuilder(); } }