Как переопределить аргументы сервиса во время его вызова

У меня есть класс для создания файла CSV, принимая необходимые данные. Я объявил этот класс как сервис Symfony, как,

<service id="admin.csv_response" class="AdminBundle\Controller\CsvResponse" public="true">
<argument key="$data">NULL</argument>
<argument key="$fileName">export.csv</argument>
</service>

Мне нужно вызвать этот сервис из контроллера, как,

$this->get('admin.csv_response');

Как я могу передать значения $ data и $ fileName во время этого вызова, передав их в качестве параметров, чтобы они переопределяли уже заданные значения?

Я попробовал следующую строку, но она не работает.

$this->get('admin.csv_response', ['sample data', 'xxx.csv']);

Заранее спасибо!!

0

Решение

просто добавьте 2 метода-установщика в ваш сервис, а не вставляйте их через конструктор:

setData(string $data){...};
setFileName(string $fileName){...};

а затем позвоните им:

$this->get('admin.csv_response')->setData(...)->setFileName(...);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector