我经常遇到这个奇怪的错误
Warning: Declaration of Proxies\__CG__\AppBundle\Entity\MyEntity::setName(string $name):
AppBundle\Entity\MyEntity should be compatible with AppBundle\Entity\MyEntity::setName(?string $name):
AppBundle\Entity\MyEntity
为什么发生这种情况?为什么我没有
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
作为我的二传手?如果我删除'?',但我确实需要它用于其他目的
答案 0 :(得分:5)
正如我在评论中已提到的:根据this issue旧版本的doctrine / common(特别是2.7.1之前的版本),如果使用可选参数类型提示,则可能在创建匹配代理类时遇到问题。 / p>
更新doctrine / common似乎解决了这个问题。