Pergunta

Eu tenho procurado uma maneira fácil de obter o nome do servidor da máquina onde o Symfony é executado em Symfony (para que meu aplicativo se adapte quando é usado em um host com um nome de servidor diferente), mas não consegui encontrar um. Criei uma variável no app.yml e buscamos, mas ainda me pergunto se não há maneira mais fácil de fazer isso. Como você está fazendo isso? Estou usando o Symfony 1.2 e 1.4 em diferentes projetos.

Foi útil?

Solução

Eu acho que encontrei algo :

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

Isso parece funcionar ... funcionará apenas que existe um pedido, é claro, por isso não é universal.

Outras dicas

Não é muito bom, mas eu uso $_SERVER["SERVER_NAME"] No meu arquivo controlador frontal, e use -o para determinar o ambiente que estou ativando:

$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
  $env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();

Eu estaria interessado em ver o apropriado abordagem :-)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top