25

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

4

2 に答える 2

57

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

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

これはうまくいくようです...もちろんリクエストがある場合にのみ機能するので、普遍的ではありません。したがって、これはCLIを使用して機能しません。

于 2010-06-11T09:16:06.600 に答える
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();

適切なアプローチを見てみたいと思います:-)

于 2010-06-11T08:29:39.333 に答える