【发布时间】:2020-03-19 07:06:12
【问题描述】:
最近将应用程序从 Symfony 4.3 升级到 4.4 并且在生产中我遇到了 Symfony Translator 界面的问题
配置:
framework:
default_locale: pl
translator:
default_path: '%kernel.project_dir%/translations'
错误:
Fatal error: Declaration of Symfony\Component\Translation\TranslatorInterface::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) in ./vendor/symfony/translation/TranslatorInterface.php on line 24
Fatal error: Declaration of Symfony\Component\Translation\Translator::trans($id, array $parameters = Array, $domain = NULL, $locale = NULL) must be compatible with Symfony\Contracts\Translation\TranslatorInterface::trans(string $id, array $parameters = Array, ?string $domain = NULL, ?string $locale = NULL) in ./vendor/symfony/translation/Translator.php on line 32
【问题讨论】:
-
你可能应该为 symfony/translation 和 symfony/contracts 使用相同的版本;o)
-
问题是 Symfony 4.4 添加了类型提示,而 Translator 组件(目前)不兼容。我尝试更改一些依赖版本,但没有任何成功。可能我们将不得不等待 Translator 依赖项也采用类型提示。
标签: symfony interface translation