/** * 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()); }