我使用PhpStorm。给定框架函数或方法,例如auth()->user()
,我需要更改PhpStorm对其返回值类型的看法。
在我的例子中,这个函数是Laravel框架的一部分,它返回一个实现Authenticatable
接口的实例。我有一个实现此界面的User
类,并且在所有个案auth()->user()
中返回User
个实例。
User
包含一些方法和属性我肯定希望在我输入auth()->user()
时看到由PhpStorm自动完成,但由于PhpStorm只确定{Authenticatable
,因此它不会自动完成1}}它的本质是返回值。
在vendor/
中更改框架的源代码是不可接受的,因为任何补丁都会重写它,而且我必须在每台机器上都这样做。
我发现有人可以创建一个PhpStorm扩展程序,但我认为它过多了。我可以创建某种IDE帮助文件,但我不知道如何做出正确决定并且不知道。
此问题的最佳/正确/适当解决方案是什么?我错过了什么吗?
答案 0 :(得分:1)
如果断言返回值的类型,PHPStorm将很高兴:
$user = auth()->user();
if ($user instanceof User) {
// starting from this point PHPStorm should hint User's methods for $user.
}