/** * Load configuration * @param $files array * @param $configDir string * @param $cacheDir string * @param $environment string * @return array * @example * $config = VC_Config::load(array('db', 'urls', 'agendize')); */ public static function load($files, $configDir = null, $cacheDir = null, $environment = null) { if ($configDir == null) { if (isset($_SERVER['CONFIG_DIR'])) { $configDir = $_SERVER['CONFIG_DIR']; } elseif (defined('ROOT_PATH')) { $configDir = ROOT_PATH . '/configs'; } else { $configDir = realpath(dirname(__FILE__) . '/../../../../config'); } } if ($cacheDir == null) { if (isset($_SERVER['TMP_DIR'])) { $cacheDir = $_SERVER['TMP_DIR'] . '/cache'; } elseif (defined('ROOT_PATH')) { $cacheDir = ROOT_PATH . '/tmp/cache'; } else { $cacheDir = realpath(dirname(__FILE__) . '/../../../../tmp/cache'); } } if ($environment == null) { if (isset($_SERVER['APPLICATION_ENV'])) { $environment = $_SERVER['APPLICATION_ENV']; } elseif (defined('APPLICATION_ENV')) { $environment = APPLICATION_ENV; } else { $environment = 'development'; } } self::$config = self::loadConfig($files, $configDir, $cacheDir, $environment); return self::$config; }