在symfony服务中指定空白参数

时间:2018-04-07 21:21:37

标签: php symfony symfony-2.7

我正在尝试将symfony中的自定义SwiftMailer Transport定义为服务,并且除了服务定义之外几乎得到它。下面的XML来自Swiftmailer-Mailgun-bundle,这可行,但是我们应用程序中的所有配置都是YML,下面的XML的YAML版本是什么?

<service id="mailgun.swift_transport.transport" class="cspoo\Swiftmailer\MailgunBundle\Service\MailgunTransport" public="true">
    <argument></argument>
    <argument type="service" id="mailgun.library"></argument>
    <argument>%mailgun.domain%</argument>
</service>

有点,我不知道你是怎么在YAML做的。

1 个答案:

答案 0 :(得分:0)

自己想出来。查看mailgun包中的代码,它有一个名为cspooSwiftmailerMailgunExtension的类,它修饰了服务定义,将XML中定义的空白参数定义为mailgun.swift_transport.eventdispatcher的类型,所以当然,将其添加到配置中会出现修好它。

swiftmailer.mailer.transport.engage_mailgun:
          class: foo\WebsiteBundle\SwiftMailer\customMailgunTransport
          arguments: ['@mailgun.swift_transport.eventdispatcher','@mailgun.library','testdomain.com']

以为我会发布解决方案,其他任何人都反对它。