Symfony2:将服务注入非服务

时间:2015-04-26 18:09:45

标签: symfony service dependency-injection code-injection

我来自JEE世界,在那里我们可以从代码中的任何地方获得对服务的引用...... Symfony也可以吗?因为传递许多服务作为参数很无聊,有时你别无选择......

例如:我有一个递归表单,我不能声明为服务,我使用listeners =>必须将侦听器使用的服务从控制器传递到表单,然后传递给侦听器......

除了使用&内核(从中可以获得服务容器)...

1 个答案:

答案 0 :(得分:0)

要在Symfony2中获取对服务的引用,您必须使用服务容器。如果您在控制器中,则可以通过$this->container->get('service_name');直接访问每项服务。如果你在另一个类中,那么你必须将你的依赖注入到该类中,或者如果向构造函数传递太多参数,则直接注入服务容器。

相关问题