Есть ли простой способ получить имя сервера в Symfony?
Вопрос
Я искал простого способа получить 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();
Мне было интересно видеть правильный подход :-)
Не связан с StackOverflow