Symfony4 : 注释不存在,或无法自动加载 (Symfony\Component\Validator\Constraints)
Symfony4 : The annotation does not exist, or could not be auto-loaded (Symfony\Component\Validator\Constraints)
我正在开发 Symfony4 应用程序,但出现此错误:
[Semantical Error] The annotation
"@Symfony\Component\Validator\Constraints\NotBlank" in property
App\Entity\Product::$brochure does not exist, or could not be
auto-loaded.
这里是 Product
class:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\ProductRepository")
*/
class Product
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $name;
/**
* @ORM\Column(type="decimal", scale=2, nullable=true)
*/
private $price;
/**
* @ORM\Column(type="text")
*/
private $description;
/**
* @ORM\Column(type="string")
*
* @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
* @Assert\File(mimeTypes={ "application/pdf" })
*/
private $brochure;
public function getBrochure()
{
return $this->brochure;
}
public function setBrochure($brochure)
{
$this->brochure = $brochure;
return $this;
}
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
}
// ... getters & setters for price & description
public function setPrice($price)
{
$this->price = $price;
}
public function setDescription($description)
{
$this->description = $description;
}
}
注解@Symfony\Component\Validator\Constraints\File
也出错。
也许,我忘了在 Symfony 中配置一些东西,我不知道。
我该如何解决这个问题?
也许你应该提到在 composer 文件中,因为在 symfony 4 中每个依赖项都会通过 flex
自动加载和安装
"require": {
#...
"symfony/validator": "^3.3",
},
好吧,这是我的 "I feel stupid" 修复程序之一。我已经用 flex 安装了包,但仍然出现错误。原因是我输入了在 symfony 文档中找到的 Assert 语句示例,但在我相当高的 DPI 监视器上,反斜杠看起来像一个管道,即:
@Assert|NotBlank(),不过应该是@Assert\NotBlank()
我正在开发 Symfony4 应用程序,但出现此错误:
[Semantical Error] The annotation "@Symfony\Component\Validator\Constraints\NotBlank" in property App\Entity\Product::$brochure does not exist, or could not be auto-loaded.
这里是 Product
class:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\ProductRepository")
*/
class Product
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $name;
/**
* @ORM\Column(type="decimal", scale=2, nullable=true)
*/
private $price;
/**
* @ORM\Column(type="text")
*/
private $description;
/**
* @ORM\Column(type="string")
*
* @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
* @Assert\File(mimeTypes={ "application/pdf" })
*/
private $brochure;
public function getBrochure()
{
return $this->brochure;
}
public function setBrochure($brochure)
{
$this->brochure = $brochure;
return $this;
}
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
}
// ... getters & setters for price & description
public function setPrice($price)
{
$this->price = $price;
}
public function setDescription($description)
{
$this->description = $description;
}
}
注解@Symfony\Component\Validator\Constraints\File
也出错。
也许,我忘了在 Symfony 中配置一些东西,我不知道。
我该如何解决这个问题?
也许你应该提到在 composer 文件中,因为在 symfony 4 中每个依赖项都会通过 flex
自动加载和安装 "require": {
#...
"symfony/validator": "^3.3",
},
好吧,这是我的 "I feel stupid" 修复程序之一。我已经用 flex 安装了包,但仍然出现错误。原因是我输入了在 symfony 文档中找到的 Assert 语句示例,但在我相当高的 DPI 监视器上,反斜杠看起来像一个管道,即: @Assert|NotBlank(),不过应该是@Assert\NotBlank()