Я искал простой способ получить имя_сервера на компьютере, где Symfony работает в Symfony (так что приложение адаптируется, когда оно используется на хосте с другим именем сервера), но я не смог его найти. Я создал переменную в app.yml, и я ее получаю, но мне все еще интересно, нет ли более простого способа сделать это. Как вы это делаете? Я использую Symfony 1.2 и 1.4 для разных проектов.
Есть ли простой способ получить ServerName в Symfony?
Ответ 1
Я думаю, что нашел что-то:
$this->getRequest()->getHost()
Кажется, что это сработает... он будет работать только там, конечно, есть запрос, поэтому он не универсален.
Ответ 2
Не очень приятно, но я использую $_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();
Мне было бы интересно увидеть подход правильный: -)