TypeError: Return value of class::functionName() must be an instance of /Interface, null returned

3k Views Asked by At

How to specify a return type of function (an instance of Interface) using php prophecy.

method is like:-

class classname()
{
  public $var;

public functionName : Interface
{

   return $this->var;

}

}

IS it possible to do something like this? $this->method->willreturn(string)->ofTypeInterface

1

There are 1 best solutions below

0
On

Php return types do not allow a null value by default, so if you specify that the function should return an Interface it can only return an interface object.

So you should either return an Interface object or if you also want to allow null values you should to the following:

public functionName : ?Interface
{

}

This will accept either an Interface object or null to be returned