You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:26:30