本地数组上的 Phpdocs

Phpdocs on local array

我的代码审查被我的同事拒绝了,因为函数中的本地数组($params 在底部示例中)有一个不必要的 phpdoc。看例子:

/**
 * comment...
 *
 * @return int
 */
public function testFunction()
{
    /** @var string[] $params */
    $params = ['string1', 'string2'];

    etc...

    return 0;
}

有人可以向我解释为什么不需要在本地数组上定义 phpdocs 吗?我从我的同事那里得到了解释,我们不需要在本地数组上编写 phpdoc。我们正在使用 PhpStorm 和 Doctrine。

感谢您的宝贵时间。

当数组是参数或 return 值时,为数组编写类似 string[] 的 phpdoc 很有用,因此您可以指定数组应包含哪些类型的值。但在那种情况下,它是一个在那里定义的字符串文字数组。 phpdoc 不会告诉您任何您仅通过查看无法了解的信息。

从技术上讲,@var 旨在记录 class 属性,但在某些情况下,它在函数内部很有用,可以在 IDE 无法确定类型时帮助 IDE多变的。不过,这里也不是真正需要的。

我不确定这是否正是您的同事认为没有必要的原因,但我没有看到其他合乎逻辑的解释。