我正在使用Symfony2,我正在尝试为我的班级构建一个自定义验证器。
我按照指南找到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
}
}
答案 0 :(得分:1)
您在其他地方已经有 isUniqueNameInPlaces 类吗?因此错误无法重新声明课程 给你的isUniqueNameInPlaces类一些其他名称,然后看看它是否正常。
编辑:
也不应该是你的档案
极致/的 MyProject的强> /Validator/Constraints/isUniqueNameInPlaces.php
而不是
Acme / MyProjectBundle /Validator/Constraints/isUniqueNameInPlaces.php?