PHP Symfony2 - 在子类中使用控制器外部的服务

时间:2014-08-30 12:07:45

标签: symfony service dependencies code-injection

在我的应用程序中,我没有在控制器中实现所有内容。

控制器调用另一个类的方法,该类调用另一个类,但是该类希望使用像$ this-> get(' service')这样的服务。

举个例子:

public function controllerAction()
{
    $obj = new SubClass1();
    $obj->method();
}

class SubClass1
{
    public function method()
    {
        $obj = new SubClass2();
        $obj->method();
    }
}

class SubClass2
{
    public function method()
    {
        //Here I wish to use a Symfony Service.
    }
}

由于服务容器不是全局的,因此必须将SubClass1和SubClass2都声明为服务,因此Symfony会向它们注入服务,尽管这些类在我的应用程序中不是真正的服务(它们正在存在)使用过一次)。

你有另一个解决方案吗?我有设计错误吗?

谢谢。

0 个答案:

没有答案