/** * Returns a new database instance. Throws class not found exception if * no class is defined for given database. * * @param string $name * * @return GlueDB_Database */ protected static function create($name) { // Class name : $class = 'GlueDB_Database_' . ucfirst($name); // Unlock constructor, create instance and relock constructor : self::$constuctor_locked = false; $instance = new $class($name); self::$constuctor_locked = true; return $instance; }