Symfony2 中命令组件的 getHost() 或 $_SERVER['SERVER_NAME']

Tro*_*ike 2 php symfony

我正在 Symfony2 中执行任务(命令组件),我想使用

$this->getRequest()->getHost()
Run Code Online (Sandbox Code Playgroud)

就像我在控制器中所做的那样。获取该值(/Command/MyCommand.php)的方法是什么?

我知道我能做到$_SERVER['SERVER_NAME']。但是,我想为此使用 Symfony。

Vit*_*ian 6

如果您需要主机,您可以从路由器上下文中获取它:

$host = $this->getContainer()->get('router')->getContext()->getHost();
Run Code Online (Sandbox Code Playgroud)

但由于您正在寻找SERVER_NAME- 在从控制台执行脚本期间它将不可用。

这种情况的解决方法可能是在参数中定义参数并获取它Command

$serverName = $this->getContainer()->getParameter('your_defined_param');
Run Code Online (Sandbox Code Playgroud)