例如,在我的services.yml文件中,以下代码:

parameters:
    social:
        facebook:
            app_id: 123456789
            secret: dkl41a5dw1daw11d1wa135451awwlflaw
        google:
            id: 12548411654

services:
    bw.user.social:
        class: BW\UserBundle\Service\SocialService
        arguments: [%social.facebook%]

此方法不起作用。我可以用这个:
services:
    bw.user.social:
        class: BW\UserBundle\Service\SocialService
        arguments: [%social%]

但这不是我真正需要的。如何在不使用google的情况下仅将传递给 facebook值,而没有google和,这很重要,不能更改参数结构?

最佳答案

您必须像这样编写参数:

parameters:
    social.facebook:
        app_id: 123456789
        secret: dkl41a5dw1daw11d1wa135451awwlflaw
    social.google:
        id: 12548411654

然后,您可以使用:
services:
    bw.user.social:
        class: BW\UserBundle\Service\SocialService
        arguments: [%social.facebook%]

关于symfony - 如何将嵌套参数值传递给Symfony2中的服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21091629/

10-10 20:26