Доктрина php7+ намек на тип, Объявление ошибки прокси-серверов


Я постоянно получаю эту странную ошибку

  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;
}

Как мой сеттер? Это сработает, если я удалю "?", но мне это нужно для других целей

Author: hvertous, 2017-08-17

1 answers

Как я уже упоминал в комментариях: В соответствии с этой проблемой в более старых версиях doctrine/common (в частности, старше 2.7.1) могут возникнуть проблемы с созданием соответствующего прокси-класса, если вы используете подсказки необязательного типа параметров.

Обновление доктрины/common, похоже, устраняет проблему.

 4
Author: Tobias Xy, 2017-08-18 09:10:41