PhpStorm 使用 \Nwidart\Modules 自动完成

PhpStorm autocomplete with \Nwidart\Modules

问题是我使用 PhpStorm IDE。 Laravel 项目由 nwidart/laravel-modules 管理。

但是,PhpStorm 不处理基本的 Laravel 功能。例如:findorfail(),对于自己的模型:

Method 'findorfail' not found in \Modules\Companies\Models\Companies_adresses

我做了以下操作来启用自动完成:

这很混乱,因为它没有正确给出提示。它没有列出数据库列等......PHPDoc仍然浮现在脑海,但我不知道如何开始!

你没有想法?我感到完全迷失了:(

我设置了 Laravel IDE 助手,但我必须将以下内容添加到我的所有模型中......或者您可以添加到一个新模型 class 然后扩展到您的所有模型。无论哪种方式,这都会让 PHPStorm 正确读取外观方法:

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;

/**
 * Class Employee
 *
 * @mixin Builder
 */
class Employee extends Model
{
    // blah blah blah
}

确保 PHPDoc 与您的模型相吻合。关键位是 @mixin 行,它为 PHP Storm 提供了与模型的所有外观方法的连接。您仍然需要 IDE 助手。但是有了这个 PHPStorm 会在您键入时提供建议,并允许您按住 Control 键并单击以从项目的其他地方查看方法本身。

您还可以使用 Laravel Idea 插件生成高级 ide 辅助代码。主菜单 > 代码 > Laravel Idea 代码生成 > 生成 Eloquent 辅助代码。