Symfony 4,如何在构造函数中注入服务并传递另一个参数?

时间:2018-10-17 22:11:14

标签: php yaml

从Utils服务类中,我需要获取在services.yaml中定义的参数。

当我想实例化我的服务类时,我想传递一个'non service'参数。

当前,我有:

#from my services.yaml
...
services:
    ...
    App\Utils\myCustomService:
        arguments:
            $foo: 'some value'


//from my custom service 
...
private $faa;
private $foo;
public function __construct(ParameterBagInterface $foo)
{
    $this->foo = $foo;
}
public setFaa($value){
    $this->faa = $value;
}

//from a custom Controller by example
...
public function new(myCustomService $myCustomService){
    $myCustomService->setFaa("blabla");
    ...
}

但是我正在寻找一种在控制器中使用“ new”方法的方法,如下所示:

//from a custom Controller v2
...
public function new(){
    $myCustomService = new myCustomService("blabla");
    // and the parameter "faa" in $myCustomService is automatically set to "blabla"
    ...
}

使用这种“新”方法,由于我的自定义服务类的构造函数仅需要一个类型为“ ParameterBagInterface”的参数,因此会出现错误。

我认为我必须更改自定义服务类中的内容,但是我找不到,有人可以帮助我吗?

0 个答案:

没有答案