Symfony 2.x如何通过YAML向DI服务传递多参数数组
Symfony 2.x 给DI服务的配置数组添加第二个参数
嗨,这个问题很好解决!你只需要在my_di服务的参数数组里直接加上param2: 'myvalue2'就行,只要保持和param1的同级缩进,Symfony就会把它们打包进同一个关联数组里传给你的类构造函数。
修改后的config.yml示例:
services: my_di: class: 你的类的完整命名空间(比如 App\Service\YourCustomService) arguments: - param1: 'myvalue' param2: 'myvalue2'
如果你的服务定义里使用了命名参数(比如构造函数的参数明确是$config),还可以写成更清晰的形式:
services: my_di: class: App\Service\YourCustomService arguments: $config: param1: 'myvalue' param2: 'myvalue2'
关键注意点:
YAML对缩进非常敏感,一定要确保param2和param1处于同一缩进层级,这样Symfony的DI容器才会将它们解析为同一个关联数组的键值对。完成修改后,你的类构造函数就能正确接收到包含两个参数的数组了。
内容的提问来源于stack exchange,提问作者coderex
相关产品推荐
相关产品推荐

