web-dev-qa-db-ja.com

SymfonyでServerNameを取得する簡単な方法はありますか?

私は、SymfonyがSymfonyで実行されているマシンのServerNameを取得する簡単な方法を探していました(別のServerNameを持つホストで使用されるときにアプリが適応するようにするため)。 app.ymlで変数を作成してフェッチしましたが、これを行う簡単な方法はまだないのでしょうか。元気ですか?私は異なるプロジェクトでSymfony 1.2と1.4を使用しています。

25
greg0ire

私は何か見つけたと思う :

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

これはうまくいくようです...もちろん要求がある場合にのみうまくいきますので、普遍的ではありません。

51
greg0ire

あまりよくないが、私は$_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();

properアプローチに興味があります:-)

2
richsage