教义 php7+ 类型提示,代理声明错误



我经常收到这个奇怪的错误

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(可能会在创建匹配的代理类时遇到问题。

更新学说/共同点似乎可以解决问题。

相关内容

  • 没有找到相关文章

最新更新