检查控制器内是否处于“开发”模式,使用Symfony

当将开发模式与 Symfony2.x 应用程序一起使用时,通常可以在区域设置中工作。因此,此类函数无法按预期工作(例如,尝试在localhost下获取当前IP)。这可能是一个问题,例如,当一个人尝试使用这种基于ip的Web服务时。因此,我只想知道如何检查控制器内部是否在Symfony2应用程序在开发模式下运行。通过这种方式,可以根据模式设置控制器的行为。

有什么想法吗?


答案 1

要获取 中的当前环境,您可以使用:Controller

$this->container->getParameter('kernel.environment');

因此,您只需将其放入语句中,以检查它是否等于 。if()dev


答案 2

从Symfony 2.5开始,它可以按照以下方式完成:

$this->container->get('kernel')->getEnvironment();

直接询问内核的环境看起来比搜索参数更好。


推荐