private static function getDataBaseDriver(DataSourceType $type) { $driverName = $type->__toString(); if (array_key_exists($driverName, self::$drivers)) { return self::$drivers[$driverName]; } $className = "\\picon\\" . $driverName . 'Driver'; if (class_exists($className)) { self::$drivers[$driverName] = new $className(); return self::$drivers[$driverName]; } throw new \InvalidArgumentException(sprintf('Database driver %s does not exist', $driverName)); }