Symfony 3:注释不存在,或者无法自动加载

Symfony 3 : The annotation does not exist, or could not be auto-loaded

当我将我的项目投入生产时,我得到了那个错误:

属性中的注释“@Symfony\Component\Validator\Constraints\type”不存在,或者无法自动加载。

我不明白为什么,因为我在本地工作时,一切正常。

这是我的代码:

namespace EC\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use EC\ToolsBundle\StrTools\StrTools; 

/**
 * User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity(repositoryClass="EC\UserBundle\Repository\UserRepository")
 */
class User extends BaseUser
{

/**
 * @ORM\Column(name="nb_recette", type="integer", options={"unsigned"=true, "default" = 0})
 * @Assert\type(type="integer")
 */
    private $nb_recette = 0;

//...
}

感谢您的帮助

你打错了,应该是@Assert\Type

Symfony 为自动加载实现了 PSR-4,所以如果你看一下 here 你会注意到

All class names MUST be referenced in a case-sensitive fashion.

尝试改变这个:

* @Assert\type(type="integer")

对此:

* @Assert\Type(type="integer")

注释区分大小写,因此您检索错误