Symfony 4, как внедрить сервис в конструктор и передать другие параметры? - PullRequest
0 голосов
/ 18 октября 2018

Из класса обслуживания 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");
    ...
}

Но я ищудля способа использовать «новый» метод в моем контроллере следующим образом:

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

С этим «новым» методом я получаю ошибку, потому что конструктор моего класса пользовательской службы не только один параметр типа"ParameterBagInterface".

Я думаю, что должен что-то изменить в своем пользовательском классе обслуживания, но я не могу найти что, кто-то может мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...