PHP strict_types и отношение к невидимой TYPO3-записи - PullRequest
0 голосов
/ 28 августа 2018

Свойство модели является отношением к одной другой записи, подобной этой:

/**
 * @var \MyCompany\MyExtension\Domain\Model\OtherObject
 */
public $otherObject;

/**
 * @return OtherObject
 */
public function getOtherObject(): OtherObject
{
    return $this->otherObject;
}

Теперь предположим, что связанный объект невидим (например, он скрыт или ограничен по времени). Extbase пытается присвоить 0, но PHP ожидает экземпляр OtherObject ... Bam! - вы получаете ошибку.

Как с этим бороться? Скрытые или ограниченные по времени записи не редкость.

1 Ответ

0 голосов
/ 28 августа 2018

Вам нужно либо потребовать PHP 7.1 и использовать подсказку типа возвращаемого значения, например ?OtherObject, либо полностью удалить подсказку типа. В любом случае вы не можете полагаться на то, что что-то здесь возвращается, поэтому ваш потребляющий код должен это обработать.

...