mevr
mevr

Reputation: 1125

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

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

Upvotes: 4

Views: 3210

Answers (1)

Sven
Sven

Reputation: 75

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

Upvotes: 6

Related Questions