Для хранения названия среды окружения используйте переменную окружения, как здесь сказали. Например «APPLICATION_ENV».
Для определения среды окружения можно использовать такой алгоритм:
$test_domain = 'testsite.ru'; // домен тестового сервера
if(strpos($_SERVER['HTTP_HOST'], $test_domain) !== FALSE) {
$app_env = 'test';
} else {
$app_env = ($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR']) ? 'development' : 'production';
}
define('APPLICATION_ENV', $app_env ? $app_env : 'production');
Для определения, находится ли приложение под юнит-тестированием можно использовать такой приём:
public static function isUnderUnitTest()
{
return $_SERVER['PHP_SELF'] === '/usr/bin/phpunit';
}