public static function singleton($filename, $workingFilename) { $name = substr(basename($filename), 0, -4); $config = new Ini_Object($filename); if (!empty($config->server) && !empty($config->server['class'])) { $class = $config->server['class']; } else { $class = 'Server'; } if (!isset(self::$instance)) { try { define('BASE_SERVER', strtolower($name)); self::$instance = new $class($filename, $workingFilename); } catch (Exception $e) { $class = 'Server'; self::$instance = new $class($filename, $workingFilename); } } return self::$instance; }