让PhpStorm改变它对框架功能返回值的看法

时间:2017-05-11 23:28:12

标签: php laravel ide phpstorm

我使用PhpStorm。给定框架函数或方法,例如auth()->user(),我需要更改PhpStorm对其返回值类型的看法。

在我的例子中,这个函数是Laravel框架的一部分,它返回一个实现Authenticatable接口的实例。我有一个实现此界面的User类,并且在所有个案auth()->user()中返回User个实例。

User包含一些方法和属性我肯定希望在我输入auth()->user()时看到由PhpStorm自动完成,但由于PhpStorm只确定{Authenticatable,因此它不会自动完成1}}它的本质是返回值。

vendor/中更改框架的源代码是不可接受的,因为任何补丁都会重写它,而且我必须在每台机器上都这样做。

我发现有人可以创建一个PhpStorm扩展程序,但我认为它过多了。我可以创建某种IDE帮助文件,但我不知道如何做出正确决定并且不知道。

此问题的最佳/正确/适当解决方案是什么?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

如果断言返回值的类型,PHPStorm将很高兴:

$user = auth()->user();
if ($user instanceof User) {
    // starting from this point PHPStorm should hint User's methods for $user.
}