如何在symfony2中获取应用程序实例

时间:2013-06-12 14:29:34

标签: php symfony

我无法在其他php框架中找到像:: getInstance()这样的东西来获取symfony2中的Application(单例)实例

我发现只有sfContext :: getInstance()买它不起作用,看起来像是来自symfony1的方法

添加更多信息。

我有一些类 - 抽象类Post {}。我想在这个类中获得一些应用程序配置,环境变量。我不想把所有这些东西都放到构造函数方法中,而是我想调用应用程序实例并得到我想要的所有东西

1 个答案:

答案 0 :(得分:0)

如果你看一下web / app.php,你会看到你的应用程序实例只是一个名为kernel的全局变量

    $kernel = $GLOBALS['kernel'];
    die(get_class($kernel));

然而,@ san40告诉你阅读文件的原因是你可能从来没有真正需要它。 SF2与SF1非常不同。因此,如果您解释了为什么您想要实例,那么有人可能会建议其他方法。

===================================

查看web /控制台显示除了实例之外的控制台命令的相同原理称为应用程序。

die(get_class($GLOBALS['application']))

但是,建议不要使用应用程序实例来提取环境变量等。如果不出意外,它会使您的对象完全依赖于实例。依赖注入就是你想要的。仔细阅读s2文档中的内容。