如何在迭代期间注释 Laravel 集合元素
Posted
技术标签:
【中文标题】如何在迭代期间注释 Laravel 集合元素【英文标题】:How to annotate Laravel Collection elements during iteration 【发布时间】:2021-10-15 19:55:50 【问题描述】:我正在考虑如何在 phpStorm 中注释类型。我相信 PhpStorm 正在使用 Psalm 来解析类型,但我在这里找不到如何注释类型以获取建议:
我的应用程序中的$row
将始终是Collection
对象,我想在此处用注释标记它。
有人知道如何实现吗?
/**
* @param Collection $rows
*/
public function collection(Collection $rows)
foreach ($rows as $row)
dump($row->); // $row is also Collection object
【问题讨论】:
检查laravel ide helper。 见blog.jetbrains.com/phpstorm/2021/07/phpstorm-2021-2-release/… -- 你需要使用通用的 +@template
东西(另外,必须启用 Psalm 插件(即使它不运行它,它只是用来支持语法))
【参考方案1】:
你可以像这样标记 var 类型:
/**
@var $row Collection
**/
dump($row->);
https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000701884-Using-var-type-hinting-with-properties-instantiated-by-Traits
【讨论】:
我不认为$row
应该是Collection
,$rows
是。以上是关于如何在迭代期间注释 Laravel 集合元素的主要内容,如果未能解决你的问题,请参考以下文章