Если я правильно понимаю, вы ищете, чтобы загрузить различные конфигурации для каждого местоположения.Лучший способ справиться с этим - установить пользовательских конфигураций на основе расположения сервера.
Таким образом, для этого вы можете создать конфигурацию custom.php, которая проверяет имя сервера.
$domain = strtolower(@$_SERVER['SERVER_NAME']);
switch (true) {
default:
case 'production.domain.com' == $domain:
Configure::write('MyDomain.environment', 'production');
break;
case 'staging.domain.com' == $domain:
Configure::write('MyDomain.environment', 'staging');
break;
case 'local.domain.com' == $domain:
case 'mybox.com' == $domain:
Configure::write('MyDomain.environment', 'local');
break;
}
Теперь в основном вы можете настроить параметры в зависимости от вашей среды:
switch (Configure::read('MyDomain.environment')) {
default: // for security; wouldn't want any confusion revealing sensitive information
case 'production':
Configure::write('debug', 0);
break;
case 'staging':
case 'local':
Configure::write('debug', 2);
break;
}
Теперь вы можете настроить все где угодно, используя Configure::write('MyDomain.environment', x)
без необходимости изменять способядро CakePHP читает файлы.
Удачного кодирования!