Я хочу иметь много среды в моем CakePHP приложения,различные среды в CakePHP?
и имеют core.php файл для каждой среды, то есть,
ядро-production.php и ядро-development.php. Как управлять им?
Я хочу иметь много среды в моем CakePHP приложения,различные среды в CakePHP?
и имеют core.php файл для каждой среды, то есть,
ядро-production.php и ядро-development.php. Как управлять им?
Если я правильно понимаю, вы ищете для загрузки различных конфигураций для каждого местоположения. Лучший способ справиться с этим - установить custom configurations в зависимости от местоположения сервера.
Чтобы сделать это, вы можете создать конфигурацию 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 читает файлы ,
Счастливое кодирование!
Это лучший способ включить строки, которые я когда-либо видел. –
В чем разница между файлами производства и разработки? Я просто управляю ими из того же core.php. – Wylie
@Wylie Это автоматизирует выбор значений конфигурации и тем самым уменьшает вероятность ошибок и менее монотонную рабочую силу. –