0

在控制器内部时,

$this->get('some_service');

在将所需服务创建/注入“some_service”后给我一个对象。

但是,如果我有一堂课:

class SomeClass {

    public function __construct(array $parameterArray, SomeObject $someObject) {
        //...
    }
}

这需要将某种数组(在控制器内部定义)注入到构造函数中,是否有可能让 Symfony2 服务容器来处理这种情况?如果是这样,我该怎么做?

4

1 回答 1

1

在构建时传递给服务的参数不应依赖于状态。您应该将这些参数传递给您需要的方法,例如

class SomeClass {
    public function __construct(SomeObject $someObject) {
        //...
    }

    public function doSomethingWithParameterArray(array $parameterArray) {
        //...
    }
}

然后在需要时简单地传递有状态数据,例如

$svc = $this->get('some_service');
$result = $svc->doSomethingWithParameterArray($array);
于 2013-10-02T07:54:33.173 回答