added support for environment configuration files.
This commit is contained in:
2
application/config/.gitignore
vendored
Normal file
2
application/config/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
local/*
|
||||
staging/*
|
||||
1
application/storage/db/.gitignore
vendored
1
application/storage/db/.gitignore
vendored
@@ -0,0 +1 @@
|
||||
*.sqlite
|
||||
@@ -15,8 +15,9 @@
|
||||
define('BASE_PATH', realpath('../').'/');
|
||||
define('APP_PATH', realpath('../application').'/');
|
||||
define('SYS_PATH', realpath('../system').'/');
|
||||
define('PUBLIC_PATH', realpath(__DIR__.'/'));
|
||||
define('CONFIG_PATH', APP_PATH.'config/');
|
||||
define('PACKAGE_PATH', APP_PATH.'packages/');
|
||||
define('PUBLIC_PATH', realpath(__DIR__.'/'));
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Define the PHP file extension.
|
||||
|
||||
@@ -95,17 +95,24 @@ class Config {
|
||||
/**
|
||||
* Load all of the configuration items from a file.
|
||||
*
|
||||
* If it exists, the configuration file in the application/config directory will be loaded first.
|
||||
* Any environment specific configuration files will be merged with the root file.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
public static function load($file)
|
||||
{
|
||||
$directory = (isset($_SERVER['LARAVEL_ENV'])) ? $_SERVER['LARAVEL_ENV'].'/' : '';
|
||||
if (array_key_exists($file, static::$items)) return;
|
||||
|
||||
if ( ! array_key_exists($file, static::$items) and file_exists($path = APP_PATH.'config/'.$directory.$file.EXT))
|
||||
$config = (file_exists($path = CONFIG_PATH.$file.EXT)) ? require $path : array();
|
||||
|
||||
if (isset($_SERVER['LARAVEL_ENV']) and file_exists($path = CONFIG_PATH.$_SERVER['LARAVEL_ENV'].'/'.$file.EXT))
|
||||
{
|
||||
static::$items[$file] = require $path;
|
||||
$config = array_merge($config, require $path);
|
||||
}
|
||||
|
||||
return static::$items[$file] = $config;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user