The expression return explode(' ', $this->body) returns the type string[] which is incompatible with the return type mandated by Illuminate\Contracts\Support\Arrayable::toArray() of Illuminate\Contracts\Support\TValue[].
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...
61
}
62
63
/**
64
* @deprecated v0.56.0 - Will be renamed to parse()
65
*/
66
public static function parseFile(string $localFilepath): static
67
{
68
return (new MarkdownFileParser(Hyde::path($localFilepath)))->get();
In the issue above, the returned value is violating the contract defined by the mentioned interface.
Let's take a look at an example: