Есть ли простой способ получить ServerName в Symfony? - PullRequest
24 голосов
/ 11 июня 2010

Я искал простой способ получить ServerName компьютера, на котором Symfony работает в Symfony (чтобы мое приложение адаптировалось, когда оно используется на хосте с другим ServerName), но я не смог его найти. Я создал переменную в app.yml и извлек ее, но мне все еще интересно, нет ли более простого способа сделать это. Как ты это делаешь? Я использую Symfony 1.2 и 1.4 в разных проектах.

Ответы [ 2 ]

48 голосов
/ 11 июня 2010

Кажется, я что-то нашел:

$this->getRequest()->getHost()

Кажется, это работает ... это будет работать только при наличии запроса, поэтому он не универсален.

2 голосов
/ 11 июня 2010

Не очень хорошо, но я использую $_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();

Мне было бы интересно увидеть правильный подход: -)

...