我想将我的翻译字符串注入服务,所以我在服务定义中使用了这个:
arguments: [@doctrine.orm.entity_manager,@translator]
我在构造函数中使用了这个:
public function __construct(\Doctrine\ORM\EntityManager $entityManager,\Symfony\Component\Translation\Translator $translator)
但我得到这个错误:
.... __construct() must be an instance of Symfony\Component\Translation\Translator,instance of Symfony\Component\Translation\LoggingTranslator given...
两者有什么区别?
根据
news announcement,从版本2.6开始,翻译器组件被定义为translator.default之类的服务.
所以改变你的服务定义:
arguments: [@doctrine.orm.entity_manager,@translator]
同
arguments: [@doctrine.orm.entity_manager,@translator.default]