Reputation: 27855
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?
Upvotes: 13
Views: 21557
Reputation: 3302
You can achieve this with the following syntax (don't put a dash -
at the beginning of each row of your associative array):
services:
my_di:
class: \MyClass
arguments:
$configs:
param1: 'myvalue'
param2: 'myvalue2'
param3: 'myvalue3'
Upvotes: 6
Reputation: 2596
Simply use a yaml array in your config.yml
file:
services:
my_di:
class: \MyClass
arguments:
- { param1: 'myvalue', param2: 'myvalue2' }
Upvotes: 31