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 ?
我正在使用 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 ?