0

我正在尝试从 phpdoc 转移到 psalm,但基于模板的返回出现了奇怪的错误。

class Message {}

interface FooInterface
{
    /** @return Pagerfanta|Message[] */
    public function getMessages(): Pagerfanta;
}

TooManyTemplateParams即使我设置了一个并且 Pagerfanta 在其定义中也设置了一个参数,这仍显示错误。

甚至 psalm 在线验证器也显示此错误: https ://psalm.dev/r/68b22e896f

我究竟做错了什么?

4

1 回答 1

0

该类Pagerfanta(如链接片段中所示)确实没有类型参数 - 它有 0@template个标签。

您需要升级到已修复此问题的更高版本的 Pagerfanta。2.7.2 似乎有修复。

旁注:Pagerfanta|Message[]form 是一种遗留的 PHPStorm 语法,由于歧义,我建议避免使用它。

于 2021-09-29T22:08:19.773 回答