我经常收到这个奇怪的错误
Warning: Declaration of Proxies__CG__AppBundleEntityMyEntity::setName(string $name):
AppBundleEntityMyEntity should be compatible with AppBundleEntityMyEntity::setName(?string $name):
AppBundleEntityMyEntity
到底为什么会这样?为什么我不能有
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
作为我的二传手?如果我删除"?",它可以工作,但我确实需要它用于其他目的
正如我在评论中已经提到的: 根据此问题,如果使用可选参数类型提示,则旧版本的 doctrine/common(特别是早于 2.7.1(可能会在创建匹配的代理类时遇到问题。
更新学说/共同点似乎可以解决问题。