symfony2 自定义验证器 FatalErrorException

symfony2 custom validator FatalErrorException

我正在使用 Symfony2,我正在尝试为我的 class.

构建自定义验证器

我按照指南找到了Here

我收到一个奇怪的错误:

FatalErrorException: Compile Error: Cannot redeclare class Acme\MyProject\Validator\Constraints\isUniqueNameInPlaces in /home/myfolder/src/Acme/MyProjectBundle/Validator/Constraints/isUniqueNameInPlaces.php line 123

然而,文件 isUniqueNameInPlaces.php 只有 14 行长。 我确定我做了一些愚蠢的事情,但我无法找出是什么。有人可以帮我吗?

这是我的 isUniqueNameInPlaces

  <?php

  // src/Acme/MyProject/Validator/Constraints/UniqueNameInPlaces.php
  namespace Acme\MyProject\Validator\Constraints;

  use Symfony\Component\Validator\Constraint;

  /**
  * @Annotation
  */
  class isUniqueNameInPlaces extends Constraint
  {
      public $message = 'Name is not unique';
  }

这是它的验证器

  <?php

  // src/Acme/MyProject/Validator/Constraints/isUniqueNameInPlacesValidator.php
  namespace Acme\MyProject\Validator\Constraints;

  use Symfony\Component\Validator\Constraint;
  use Symfony\Component\Validator\ConstraintValidator;

  class isUniqueNameInPlacesValidator extends ConstraintValidator
  {

      public function getTargets()
      {
          return self::CLASS_CONSTRAINT;
      }

      public function validate($protocol, Constraint $constraint)
      {
  //      my logic
      }
  }

您在别处已经有 isUniqueNameInPlaces class 了?因此错误 无法重新声明 class.
给你的 isUniqueNameInPlaces class 一些其他的名字,然后看看是否可以。

编辑:

另外你的文件不应该是
Acme/MyProject/Validator/Constraints/isUniqueNameInPlaces.php
而不是
Acme/MyProjectBundle/Validator/Constraints/isUniqueNameInPlaces.php ?