PHP 7.1具有可空类型的Doctrine代理问题

时间:2017-09-28 10:07:10

标签: php doctrine php-7.1

我正在使用php7.1的新功能,允许在项目Symfony 3上返回一个可空类型,但在实体中使用它时遇到问题:

<?php
// ....
public function getCreatedBy(): ?string
{
    return $this->createdBy;
}

当我使用此功能时出现此错误:

Type error: Return value of 
Proxies\\__CG__\\NS\\ModulesBundle\\Entity\\Account::getCreatedBy() 
must be of the type string, null returned

我看了一下用Symfony自动创建的类的代码,我发现了这个:

<?php
// ...
public function getCreatedBy(): string
{

    $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedBy', []);

    return parent::getCreatedBy();
}

如您所见,该类型不可为空。

有人能帮助我吗?感谢

1 个答案:

答案 0 :(得分:1)

我通过从版本2.6升级到doctrine / doctrine-common library的版本2.8修复了问题