对返回后代类的工厂方法的PhpStorm类型提示警告

时间:2016-08-12 11:06:27

标签: phpstorm

在具有数据映射器模式的遗留项目中,我们有以下内容(摘录):

    if($update->getModifiedCount() == 1)
    {
        echo "Section <".$key['name']."> removed from room <".$key['metadata']['room'].">."."\n";
    }

上述方法是typehinted /** * @param string $someSearchTerms * @return User[]|null */ public function getModelsFor($someSearchTerms) { // snip return $this->factory($results); } ,其中User是抽象@return User[]类的后代。

Model方法在抽象映射器中定义,并且键入为:

factory

在PhpStorm 2016.2之前,这并没有突出显示为一个问题 - 它现在是,因为它检测到返回值不匹配,尽管它们在某种意义上确实是因为User是具体实现的模型。

如何摆脱此警告?

0 个答案:

没有答案