¿Hay una manera fácil de obtener el ServerName en Symfony?
Pregunta
He estado buscando una manera fácil de obtener el ServerName de la máquina donde se ejecuta en Symfony Symfony (de forma que se adapte a mis aplicaciones cuando se utiliza en un host con una) ServerName diferente, pero no pude encontrar uno. He creado una variable en app.yml y me lo trae, pero todavía me pregunto si no hay una manera más fácil de hacer esto. ¿Cómo haces esto? Estoy usando Symfony 1.2 y 1.4 en diferentes proyectos.
Solución
Creo que he encontrado algo:
$this->getRequest()->getHost()
Esto parece funcionar ... que funcionará solamente que hay una solicitud, por supuesto, por lo que no es universal.
Otros consejos
No es muy agradable, pero yo uso $_SERVER["SERVER_NAME"]
en mi archivo controlador frontal, y usarlo para determinar el entorno Estoy activación:
$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
$env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();
Yo estaría interesado en ver la adecuada enfoque: -)