TypeError: Возвращаемое значение class::functionName() должно быть экземпляром /Interface, возвращается ноль

Как указать тип возвращаемого значения функции (экземпляр интерфейса), используя php пророчество.

Метод похож на:-

class classname()
{
  public $var;

public functionName : Interface
{

   return $this->var;

}

}

Можно ли сделать что-то подобное? $ This-> ме->willreturn(строка)->ofTypeInterface

1 ответ

Типы возврата php по умолчанию не допускают нулевого значения, поэтому, если вы укажете, что функция должна возвращать Interface он может только вернуть объект интерфейса.

Поэтому вы должны либо вернуть объект Interface, либо, если вы также хотите разрешить нулевые значения, вам следует следующее:

public functionName : ?Interface
{

}

Это примет либо Interface объект или нуль, которые должны быть возвращены

Другие вопросы по тегам