symfony - 如何将嵌套参数值传递给 Symfony2 中的服务

标签 symfony service parameters dependency-injection

例如,在我的 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%]

但这并不完全是我所需要的。我怎样才能传递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/

相关文章:

用于搜索的 RESTful URL 样式指南

php - Twig 和 PHP 的问题

angular - 在 Angular2 的 CanActivate 中注入(inject)服务

android - Firebase:服务中的 onDisconnect()

view - Eclipse RCP : org. eclipse.ui.views.showView 参数

azure - 将笔记本输出作为参数传递以复制事件

javascript - 如何在 Symfony2 项目中将 webshim 与 assetic 一起使用?

php - 交响乐 2 : Display an image mediumblob

jquery - 当没有任何改变时禁用提交

c++ - 将控制台应用程序变成服务?