X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2Fbootstrap%2Fconfig.php;h=e4d47729b32f92647456fd55aa632238280cdec5;hb=498633479633aaaaea5d848b4f466821f15b205f;hp=a8fe7bb0da85b2655377fef2e9fc04379f5f8b4a;hpb=ebc0d017c8a24bd16ca1f4347b39b07ba4349135;p=pharext%2Fpharext.org diff --git a/app/bootstrap/config.php b/app/bootstrap/config.php index a8fe7bb..e4d4772 100644 --- a/app/bootstrap/config.php +++ b/app/bootstrap/config.php @@ -1,22 +1,24 @@ share(Config::class) ->define(Config::class, [ - ":array" => parse_ini_file(__DIR__."/../config.ini", true), - ":section" => getenv("APP_ENVIRONMENT") - ]) - ->prepare(Config::class, function(Config $config) { - $credentials = parse_ini_file(__DIR__."/../credentials.ini", true); - foreach (new Config($credentials, getenv("APP_ENVIRONMENT")) as $app => $creds) { - /* one level down should suffice, i.e. $config->github->client = {id,secret,scope} */ - if ($creds instanceof Config) { - foreach ($creds as $key => $val) { - $config->$app->$key = $val; - } - } else { - $config->$app = $creds; + "+array" => function($key, $injector) { + $settings = parse_ini_file(__DIR__."/../../config/app.ini", true); + if (!$settings) { + throw new \Exception("Could not parse settings"); } + return $settings; + }, + ":section" => APP_ENVIRONMENT + ]) + ->prepare(Config::class, function($config, $injector) { + $credentials = parse_ini_file(__DIR__."/../../config/credentials.ini", true); + if (!$credentials) { + throw new \Exception("Could not parse credentials"); } + $config->addConfig(new Config($credentials, APP_ENVIRONMENT)); });