[英]Symfony2 LiipFunctionalTestBundle overriding @validator service
I am trying to inject @validator into my service but LiipFunctionalTestBundle is overriding that service when it gets injected. 我试图将@validator注入我的服务,但LiipFunctionalTestBundle在注入时会覆盖该服务。
admin.image_service:
class: AdminBundle\Service\ImageService
arguments: ["@validator", "@doctrine.orm.admin_entity_manager", "@image_storage_filesystem"]
Which results in the error 哪会导致错误
must be an instance of Symfony\\Component\\Validator\\Validator\\RecursiveValidator, instance of Liip\\FunctionalTestBundle\\Validator\\DataCollectingValidator given
必须是Symfony \\ Component \\ Validator \\ Validator \\ RecursiveValidator的实例,给出Liip \\ FunctionalTestBundle \\ Validator \\ DataCollectingValidator的实例
running php bin/console debug:container results in 运行php bin / console debug:容器结果
liip_functional_test.validator: Liip\\FunctionalTestBundle\\Validator\\DataCollectingValidator
liip_functional_test.validator:Liip \\ FunctionalTestBundle \\ Validator \\ DataCollectingValidator
validator: alias for "liip_functional_test.validator"
验证器:“liip_functional_test.validator”的别名
Is there a way to get around this over than remove liip and refactor all of my tests? 有没有办法解决这个问题,而不是删除liip并重构我的所有测试?
In Your service you should typehint Interface
not exact class. 在您的服务中,您应该输入提示
Interface
而不是确切的类。
Instdead Symfony\\Component\\Validator\\Validator\\RecursiveValidator
use Symfony\\Component\\Validator\\Validator\\ValidatorInterface
- which is implemented by both classes (Symfony and Liip). Instdead
Symfony\\Component\\Validator\\Validator\\RecursiveValidator
使用Symfony\\Component\\Validator\\Validator\\ValidatorInterface
- 由两个类(Symfony和Liip)实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.