所以这已被问过几次,但我还没有找到一个有效的答案。
我正在使用PhpStorm - 2016.3.2和Laravel 5.4
我尝试过使用https://github.com/barryvdh/laravel-ide-helper以及用于PhpStorm的Laravel插件。
我尝试检查选项“降级严重程度if_magic方法在课堂上” - 这不起作用。
我唯一能解决这个问题的方法就是完全关闭未定义方法的警告,但是转换这样的功能会破坏使用IDE的目的。
有没有人找到解决这个问题的方法?
来源:
https://laracasts.com/series/how-to-be-awesome-in-phpstorm/episodes/15
答案 0 :(得分:4)
PHPDoc块可以派上用场。
您可以在函数返回$ query 之前添加此PHP注释
/** @var $query \Illuminate\Database\Query\Builder */
通过这种方式,PHPStorm将正确识别方法
答案 1 :(得分:2)
发生这种情况的原因是因为PHPStorm并不知道该变量是什么意思(它与Laravel无关)。至于PHPStorm知道它只是方法的一个参数。
正如@LazyOne建议的那样,你可以输入提示变量,例如。
public function scopeIncomplete(Builder $query)
然后在课程顶部添加以下use
语句
use Illuminate\Database\Eloquent\Builder;
或者,如果您正在使用OS X(我不确定Windows或Linux的快捷方式),您可以在Builder
引用中移动插入符然后点击{{1导入类。
希望这有帮助!