protected function initialize() { $configuration = Configuration::read(ConfigurationParameters::DATABASE_CONNECTION); if (!is_null($configuration) && $configuration instanceof DatabaseConfiguration) { $this->setDataSource(DriverFactory::getDriver($configuration)); } else { throw new DatabaseException(MessageCode::DATABASE_CONNECTION_CONFIGURATION_NOT_FOUND); } }
public static function getDriver(DatabaseConfiguration $configuration) { if ($configuration->isMysql()) { return DriverFactory::getMysqlDriver($configuration->getHost(), $configuration->getPort(), $configuration->getDatabase()); } if ($configuration->isPostgres()) { return DriverFactory::getPostgresDriver($configuration->getHost(), $configuration->getPort(), $configuration->getDatabase()); } if ($configuration->isSqlite()) { return DriverFactory::getSqliteDriver($configuration->getDatabase()); } return null; }