Symfony 通过 yml 文件将参数数组传递给 DI 服务
Symfony passing array of arguments to DI services via yml file
我正在使用 symfony 2.x 并且我有一个 class 它接受来自 yml 文件的配置数组
config.yml
services:
my_di:
class: \MyClass
arguments:
- param1: 'myvalue'
MyClass.php
class {
public function __construc(array $configs = []) {
var_dump($config);
}
输出(这工作正常)
array (size=1)
param1 => 'myvalue'
)
但是我想通过yml再传递一个值给同一个数组
- 参数 2:'myvalue2'
预计输出为
array (size=1)
param1 => 'myvalue',
param2 => 'myvalue2'
)
我怎样才能做到这一点?
只需在 config.yml
文件中使用一个 yaml 数组:
services:
my_di:
class: \MyClass
arguments:
- { param1: 'myvalue', param2: 'myvalue2' }
我知道这与问题无关,但如果您需要注入一系列服务,您可以这样做:
App\Service\MainService:
arguments:
$transformers:
- '@App\Service\Transformers\ATransformerHandler'
- '@App\Service\Transformers\BTransformerHandler'
- '@App\Service\Transformers\CTransformerHandler'
$transformers
是MainService构造函数中的参数名
我正在使用 symfony 2.x 并且我有一个 class 它接受来自 yml 文件的配置数组
config.yml
services:
my_di:
class: \MyClass
arguments:
- param1: 'myvalue'
MyClass.php
class {
public function __construc(array $configs = []) {
var_dump($config);
}
输出(这工作正常)
array (size=1)
param1 => 'myvalue'
)
但是我想通过yml再传递一个值给同一个数组 - 参数 2:'myvalue2'
预计输出为
array (size=1)
param1 => 'myvalue',
param2 => 'myvalue2'
)
我怎样才能做到这一点?
只需在 config.yml
文件中使用一个 yaml 数组:
services:
my_di:
class: \MyClass
arguments:
- { param1: 'myvalue', param2: 'myvalue2' }
我知道这与问题无关,但如果您需要注入一系列服务,您可以这样做:
App\Service\MainService:
arguments:
$transformers:
- '@App\Service\Transformers\ATransformerHandler'
- '@App\Service\Transformers\BTransformerHandler'
- '@App\Service\Transformers\CTransformerHandler'
$transformers
是MainService构造函数中的参数名