覆盖翻译器类在symfony3

时间:2016-10-27 11:13:15

标签: php symfony override

我需要知道如何在symfony3中覆盖trans方法。

在symfony2项目中,我们用来覆盖翻译类

的参数
parameters:
    translator.class: Acme\HelloBundle\Translation\Translator

我们开始使用symfony3并尝试应用相同的方法,但不幸的是parameter was removed和类路径直接写入服务。

1 个答案:

答案 0 :(得分:1)

您可以覆盖现有定义(例如,在应用Decorator pattern时)。这种装饰由Symfony的依赖注入容器支持,如in the doc所述。例如:

services:
    app.mailer:
        class: AppBundle\Mailer

    # this replaces the old app.mailer definition with the new one, the
    # old definition is lost
    app.mailer:
        class: AppBundle\DecoratingMailer

services:
    # ...

    app.decorating_mailer:
      class:     AppBundle\DecoratingMailer
      decorates: app.mailer
      arguments: ['@app.decorating_mailer.inner']
      public:    false

希望这个帮助