【问题标题】:Symfony2 LiipFunctionalTestBundle overriding @validator serviceSymfony2 LiipFunctionalTestBundle 覆盖 @validator 服务
【发布时间】:2016-03-08 19:28:13
【问题描述】:

我正在尝试将 @validator 注入我的服务,但 LiipFunctionalTestBundle 在注入时会覆盖该服务。

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

这会导致错误

必须是 Symfony\Component\Validator\Validator\RecursiveValidator 的实例,给定的 Liip\FunctionalTestBundle\Validator\DataCollectingValidator 的实例

运行 php bin/console debug:container 结果

liip_functional_test.validator: Liip\FunctionalTestBundle\Validator\DataCollectingValidator

验证器:“liip_functional_test.validator”的别名

除了删除 liip 并重构我的所有测试之外,有没有办法解决这个问题?

【问题讨论】:

    标签: php symfony liipfunctionaltestbundle


    【解决方案1】:

    在您的服务中,您应该输入Interface 不是确切的类别。

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

    【讨论】:

    • 谢谢,这让我不必升级所有东西。
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 2014-03-05
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    相关资源
    最近更新 更多