mirror of
https://github.com/elyby/accounts.git
synced 2024-12-27 07:30:18 +05:30
53ca5915f7
Дегрейд PHP до 7.0 (всё таки без xdebug немного больно) Дегрейд Node.js до 5.12 (на 6.5 не собирался фронт) Упразднён app-console контейнер (он теперь живёт внутри основного php контейнера и рулится силами supervisor) Упразднён node-dev-server (всё равно он работал плохо) Фикс бага в ConfigLoader (не загружал config-{env} файлы) Исправлена ошибка в LangMenu (двойной default экспорт) Из package.json временно удалён PhantomJS Обновлён README.md
66 lines
1.9 KiB
PHP
66 lines
1.9 KiB
PHP
<?php
|
||
namespace common\config;
|
||
|
||
use yii\helpers\ArrayHelper;
|
||
|
||
class ConfigLoader {
|
||
|
||
/*
|
||
* TODO: В PHP 7.1 следует сделать её protected
|
||
*/
|
||
const ROOT_PATH = __DIR__ . '/../..';
|
||
|
||
private $application;
|
||
|
||
public function __construct(string $application) {
|
||
$this->application = $application;
|
||
}
|
||
|
||
public function getEnvironment() : string {
|
||
return YII_ENV;
|
||
}
|
||
|
||
public function getConfig() : array {
|
||
$toMerge = [
|
||
require __DIR__ . '/config.php',
|
||
];
|
||
|
||
// Общие окружение-зависимые настройки
|
||
$path = __DIR__ . '/config-' . YII_ENV . '.php';
|
||
if (file_exists($path)) {
|
||
$toMerge[] = require $path;
|
||
}
|
||
|
||
// Общие локальные настройки
|
||
$path = __DIR__ . '/config-local.php';
|
||
if (file_exists($path)) {
|
||
$toMerge[] = require $path;
|
||
}
|
||
|
||
// Настройки конкретного приложения
|
||
$path = self::ROOT_PATH . '/' . $this->application . '/config/config.php';
|
||
if (file_exists($path)) {
|
||
$toMerge[] = require $path;
|
||
}
|
||
|
||
// Настройки конкретного приложения для действующего окружения
|
||
$path = self::ROOT_PATH . '/' . $this->application . '/config/config-' . YII_ENV . '.php';
|
||
if (file_exists($path)) {
|
||
$toMerge[] = require $path;
|
||
}
|
||
|
||
// Локальные настройки конкретного приложения
|
||
$path = self::ROOT_PATH . '/' . $this->application . '/config/config-local.php';
|
||
if (file_exists($path)) {
|
||
$toMerge[] = require $path;
|
||
}
|
||
|
||
return ArrayHelper::merge(...$toMerge);
|
||
}
|
||
|
||
public static function load(string $application) : array {
|
||
return (new static($application))->getConfig();
|
||
}
|
||
|
||
}
|