【发布时间】:2021-12-26 03:25:31
【问题描述】:
有时我不得不欺骗 PhpStorm 向我展示类型提示功能。
我正在使用 Laravel 8 并使用 Str::replaceFirst() 函数,该函数“搜索”为“主题”字符串,“替换”为主题。我发现如果我使用一个变量,除非我在它前面加上一个空字符串,否则类型提示不起作用。
见下图。我重复Str::replaceFirst() 函数,第一次使用由一个空字符串和一个变量组成的参数,然后第二次只使用该变量。请注意,在第二个示例中,类型提示消失了。
有没有办法解决这个问题?也就是说,我希望不必在参数前面加上空字符串来显示类型提示。
【问题讨论】:
-
"...类型提示不起作用,除非..."。不,它按预期工作。它旨在在使用原始值(数字或文本)时提供提示。当你使用变量时,变量名应该告诉你那是什么。如果没有 - 你有一个错误的变量名。
-
顺便说一句:您使用什么 PHP 版本?如果是 PHP 8 - 使用 PHP 的命名参数:php.net/manual/en/…。 RFC:wiki.php.net/rfc/named_params。另一个很好的概述链接:stitcher.io/blog/php-8-named-arguments
-
明白了。那么模式是什么?如果 $match 被称为 $strMatch,那就是答案。还是在使用之前必须将变量定义为字符串?想出来。我会尝试两者。感谢您的帮助。
-
嘿,使用 php 8。我将查看 wiki。我试过 $strmatch = "";并且“str”没有产生预期的结果,也没有重新定义变量。
-
ANYWAY: 这些提示称为“镶嵌提示”,您可以强制为所有参数启用它们:
Settings (Preferences on macOS) | Editor | Inlay Hints | PHP-- 检查那里的选项
标签: php laravel phpstorm type-hinting