我正在使用Symfony2,并且正在尝试为我的课程建立自定义验证器。
我按照这里找到的指南
我收到一个奇怪的错误:
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。
给您的isUniqueNameInPlaces类一个其他名称,然后看看是否可以。
编辑 :
另外,您的文件不应该是
Acme / MyProject /Validator/Constraints/isUniqueNameInPlaces.php
而不是
Acme / MyProjectBundle /Validator/Constraints/isUniqueNameInPlaces.php吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句