Symfony passing array of arguments to DI services via yml file

11,845

Simply use a yaml array in your config.yml file:

services:
  my_di: 
    class: \MyClass
    arguments:
      - { param1: 'myvalue', param2: 'myvalue2' }
Share:
11,845
Bojan Muvrin
Author by

Bojan Muvrin

please delete me

Updated on July 23, 2022

Comments

  • Bojan Muvrin
    Bojan Muvrin almost 2 years

    I'm using symfony 2.x and I have a class which accept and array of configurations from yml file

    config.yml

    services:
      my_di: 
        class: \MyClass
        arguments:
          - param1: 'myvalue'
    

    MyClass.php

    class {
    
    public function __construc(array $configs = []) {
    
     var_dump($config);
    
    }
    

    Output (this is working correctly)

    array (size=1)
       param1 => 'myvalue'
    )
    

    But I want to pass one more value to the same array via yml - param2: 'myvalue2'

    and the exprected output will be

    array (size=1)
       param1 => 'myvalue',
       param2 => 'myvalue2'
    )
    

    How can I achieve this?