Я искал простой способ получить ServerName машины, куда Symfony работает в Symfony (так, чтобы мое приложение адаптировалось, когда это используется на хосте с другим ServerName), но я не мог найти тот. Я создал переменную в app.yml, и я выбираю его, но я все еще задаюсь вопросом, нет ли никакого более легкого способа сделать это. Как Вы делаете это? Я использую Symfony 1.2 и 1.4 на различных проектах.
Кажется, я кое-что нашел:
$this->getRequest()->getHost()
Кажется, это работает ... он будет работать только при наличии запроса, конечно, поэтому он не универсален.
Не очень хорошо, но я использую $ _ SERVER ["SERVER_NAME"]
в моем файле фронт-контроллера и использую его для определения среды, которую я активирую:
$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
$env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();
Мне было бы интересно см. правильный подход : -)