如何告诉 PhpStorm 函数参数是文件路径

3
在PhpStorm(以及其他JetBrains IDE)中,是否可以将函数属性设置为文件/资源路径?
例如,在这个函数中:
function mix($file): string
{
  // check mix maninfest for $file and return path from mix manifest
  return $fire_path_with_cachebuster;
}

当调用mix函数时,我希望PHP在项目中建议文件作为我定义的$file属性。

2个回答

4

目前只能手动调用该函数,而且它是一个暂时的注入(仅对会话有效),所以不太方便:

mix('')
  • 将插符放在字符串参数内部
  • 使用 Alt + Enter(或通过灯泡图标)打开"快速修复/意图"菜单(在某些键位映射中可能会有所不同)
  • 选择 "注入语言或引用" 选项
    输入图片说明
  • 然后在那里选择 "文件引用" 条目(只需开始输入即可过滤列表)。 输入图片说明

结果为:
输入图片说明


希望他们能够针对以下问题实施永久性解决方案:

关注这些问题(点赞/投票/评论)以获取任何进展的通知(并希望通过引起开发人员的注意来加快速度)。


啊,那就得点赞那些工单了。谢谢! - demicanadian
1
现在可以使用 // language=file-reference 进行引用。 - Kevin Beal
或者 #[Language('file-reference')] 属性(遗憾的是,它似乎没有任何作用) - Christian

0

正如LazyOne所述,目前没有办法声明参数为文件引用。

但是,您可以通过[滥用]__DIR__来获得更永久的文件引用“注入”。

PhpStorm将与__DIR__常量混合的字符串视为文件路径:

enter image description here

它并不完美,因为它取决于您当前所在的目录。如果您只想将文件名传递给您的方法,您可以将字符串包装在basename中,或者从您的方法内部处理。

echo mix(basename(__DIR__ . '/slack_bot.php'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接