/**
  * Prepares component
  *
  * @param string $environment
  */
 public static function setup($environment = '')
 {
     $config = CoreConfig::readAppConfig();
     if ($environment == '') {
         if (!isset($config->application->mode)) {
             throw new ActiveRecordException('No se ha definido el entorno por defecto de la aplicación');
         } else {
             $environment = $config->application->mode;
         }
     }
     $environmentConfig = CoreConfig::readEnviroment();
     if (!isset($environmentConfig->{$environment})) {
         throw new ActiveRecordException('No se ha definido el entorno por defecto en enviroment.ini');
     }
     $envConfig = $environmentConfig->{$environment};
     self::$_connection = DbLoader::factory($envConfig->{'database.type'}, array('host' => $envConfig->{'database.host'}, 'port' => $envConfig->{'database.port'}, 'username' => $envConfig->{'database.username'}, 'password' => $envConfig->{'database.password'}, 'name' => $envConfig->{'database.name'}, 'schema' => $envConfig->{'database.schema'}));
     self::$_connection->setProfiling(new ActiveRecordMigrationProfiler());
 }
예제 #2
0
파일: db.php 프로젝트: raalveco/Escuela
         **/
        if (isset($config['pdo'])) {
            $dbclass = "DbPDO{$config['type']}";
            if (!class_exists($dbclass)) {
                /**
                 * @see DbPDO
                 */
                require_once CORE_PATH . 'libs/db/adapters/pdo.php';
                require_once CORE_PATH . 'libs/db/adapters/pdo/' . $config['type'] . '.php';
            }
        } else {
            $dbclass = "Db{$config['type']}";
            if (!class_exists($dbclass)) {
                require_once CORE_PATH . 'libs/db/adapters/' . $config['type'] . '.php';
            }
        }
        if (!class_exists($dbclass)) {
            throw new KumbiaException("No existe la clase {$dbclass}, necesaria para iniciar el adaptador", 0);
        }
        $connection = new $dbclass($config);
        /**
         * Si no es para conexion nueva, la cargo en el singleton
         **/
        if (!$new_connection) {
            self::$raw_connections[$database] = $connection;
        }
        return $connection;
    }
}
return DbLoader::load_driver();