相关疑难解决方法(0)

在Symfony 3中替换Translator服务

在我的Symfony 2.8项目中,我有一个扩展,为trans方法添加了一些额外的逻辑:

parameters:
    translator.class: MyBundle\Twig\TranslationExtension
Run Code Online (Sandbox Code Playgroud)

这个类看起来像这样:

namespace MyBundle\Twig\TranslationExtension;

use Symfony\Bundle\FrameworkBundle\Translation\Translator as BaseTranslator;

class TranslationExtension extends BaseTranslator
{
    private $currentLocale;

    public function trans($id, array $parameters = array(), $domain = null, $locale = null)
    {
            $translation = parent::trans($id, $parameters, $domain, $locale);

            // Some extra logic here

            return $translation;
    }

    public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null)
    {
        return parent::transChoice($id, $number, $parameters, $domain, $locale);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在迁移到Symfony 3,其中不推荐使用这些类参数,但是如何通过覆盖翻译服务来实现这一点?

php symfony

5
推荐指数
2
解决办法
2110
查看次数

标签 统计

php ×1

symfony ×1