The expression return array(Yansongda\P...in\ParserPlugin::class) returns the type array<integer,string> which is incompatible with the return type mandated by Yansongda\Pay\Contract\S...Interface::getPlugins() of Yansongda\Pay\Contract\PluginInterface[].
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...
24
PreparePlugin::class,
25
ContractOrderPlugin::class,
26
RadarSignPlugin::class,
27
$this->getInvoke($params),
28
ParserPlugin::class,
29
];
30
}
31
32
protected function getInvoke(array $params): string
In the issue above, the returned value is violating the contract defined by the mentioned interface.
Let's take a look at an example: