2016-03-08 117 views
4

我正在尝试将@validator注入到我的服务中,但LiipFunctionalTestBundle在它被注入时正在重写该服务。Symfony2 LiipFunctionalTestBundle覆盖@validator服务

admin.image_service: 
    class: AdminBundle\Service\ImageService 
    arguments: ["@validator", "@doctrine.orm.admin_entity_manager", "@image_storage_filesystem"] 

导致错误

必须的Symfony \分量\验证\验证\ RecursiveValidator,LIIP \ FunctionalTestBundle \验证\ DataCollectingValidator实例给出

运行的实例php bin/console调试:容器结果

liip_functional_test.validator:LIIP \ FunctionalTestBundle \验证\ DataCollectingValidator

验证:为 “liip_functional_test.validator” 别名

有没有办法来解决这个问题比上删除LIIP和重构我所有的测试?

回答

6

在您的服务中,您应该键入暗示Interface不是确切的类。

Instdead Symfony\Component\Validator\Validator\RecursiveValidator使用Symfony\Component\Validator\Validator\ValidatorInterface - 这是由两个类(Symfony和Liip)实现。

+0

完美,谢谢 – danwoodbury

+0

谢谢,这节省了我不必升级的一切。 –