I am making use of the laravel orm component and observed the following when i deployed the life server.
i got the error
Declaration of Illuminate\Database\Eloquent\Collection::toJson()
must be compatible
with Illuminate\Support\Contracts\JsonableInterface::toJson($options = 0)
I deployed on an ubuntu server that has php v5.4.6 installed. Didnt get this while working on my local machine that has php v5.3.5 installed.
The interface declaration is as below
public function toJson($options = 0);
while the abstract class implementation is
public function toJson()
{
return json_encode($this->toArray());
}
I didnt think this would be a problem since the interface declaration has its parameter as optional and the abstract class implements it without requiring the parameter.
Is this a thing with php v5.4 and what advantage does it offer?
Also, what is the best approach to fixing this? The interface is implemented by a lot of classes so I am trying not to break dependencies; will you advice downgrading my php version on the life server?