Динамический файл конфигурации для команд оболочки в CakePHP 3.6 - PullRequest
0 голосов
/ 17 октября 2019

Мне приходится работать с несколькими приложениями с одним и тем же кодом. У меня есть структура проекта, как показано ниже:

- same coding for all applications.
- different domains for different application.
- separate database for each application.
- different app.php and .env file for each application.(Ex. app1.php and .env1 | app2.php and .env2)

Теперь мне нужно работать так, как я хочу, чтобы загружать разные app.php и .env файл в зависимости от приложения.

Как загрузить файлы конфигурациидинамически

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете сделать это на вашем bootstrap.php файле. Вы можете условно загрузить свой файл конфигурации (app_domain1.php или app_domain2.php).

// config/bootstrap.pnp
try {
  Configure::config('default', new PhpConfig());
  Configure::load('env', 'default');
if (requestd_domain == domain1) {
    Configure::load('app_domain1', 'default', false);
}elseif(requestd_domain == domain2){
    Configure::load('app_domain2', 'default', false);
}else{
    Configure::load('app', 'default', false);  
}

} catch (\Exception $e) {
  exit($e->getMessage() . "\n");
}

Вы можете получить запрошенный домен с помощью $_SERVER['HTTP_HOST']
Надеюсь, ваша проблема будет решена
Для получения более подробной информацииcheck Загрузка дополнительных файлов конфигурации

...