Example #1
0
 /**
  * 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();
     }
 }