The expression return $this->cache = array() returns the type array which is incompatible with the return type mandated by Psr\SimpleCache\CacheInterface::clear() of boolean.
In the issue above, the returned value is violating the contract defined by the
mentioned interface.
Let's take a look at an example:
interfaceHasName{/** @return string */publicfunctiongetName();}className{public$name;}classUserimplementsHasName{/** @return string|Name */publicfunctiongetName(){returnnewName('foo');// This is a violation of the ``HasName`` interface// which only allows a string value to be returned.}}
Loading history...
55
}
56
57
/**
58
* @inheritdoc
59
*/
60
public function getMultiple($keys, $default = null)
61
{
62
return array_filter($this->cache, function ($key) use ($keys) {
In the issue above, the returned value is violating the contract defined by the mentioned interface.
Let's take a look at an example: