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