为PhpStorm添加Laravel 代码智能提示功能 一、为PHPSTORM安装Laravel Plugin插件 二、应用 composer 安装 barryvdh/laravel-ide-helper和doctrine/dbal 三、允许应用程序在非生产环境中加载Laravel IDE Helper 四、使用publish命令将软件包配置复制到本地配置: 五、为 Facades 生成注释 六、为模型生成注释 七、生成 .phpStorm.meta.php 八、自动运行 generate  其他操作相关文档:

为PhpStorm添加Laravel 代码智能提示功能
一、为PHPSTORM安装Laravel Plugin插件
二、应用 composer 安装 barryvdh/laravel-ide-helper和doctrine/dbal
三、允许应用程序在非生产环境中加载Laravel IDE Helper
四、使用publish命令将软件包配置复制到本地配置:
五、为 Facades 生成注释
六、为模型生成注释
七、生成 .phpStorm.meta.php
八、自动运行 generate
 其他操作相关文档:

php artisan clear-compiled    //清除bootstrap/compiled.php
php artisan ide-helper:generate    //为 Facades 生成注释,需要先清除bootstrap/compiled.php
php artisan ide-helper:models    //为模型生成注释
php artisan ide-helper:meta    //生成 .phpStorm.meta.php

为PhpStorm添加Laravel 代码智能提示功能
一、为PHPSTORM安装Laravel Plugin插件
二、应用 composer 安装 barryvdh/laravel-ide-helper和doctrine/dbal
三、允许应用程序在非生产环境中加载Laravel IDE Helper
四、使用publish命令将软件包配置复制到本地配置:
五、为 Facades 生成注释
六、为模型生成注释
七、生成 .phpStorm.meta.php
八、自动运行 generate
 其他操作相关文档:

二、应用 composer 安装 barryvdh/laravel-ide-helperdoctrine/dbal

packagist官网地址https://packagist.org/

使用如下命令安装barryvdh/laravel-ide-helper

composer require --dev barryvdh/laravel-ide-helper

使用如下命令安装doctrine/dbal「请装上它,在为模型注释字段的时候必须用到它」

composer require "doctrine/dbal: ~2.5"

三、允许应用程序在非生产环境中加载Laravel IDE Helper

app/Providers/AppServiceProvider.php文件中的register()方法中添加下面的代码:

//允许应用程序在非生产环境中加载Laravel IDE Helper
if ($this->app->environment() !== 'production') {
    $this->app->register(BarryvdhLaravelIdeHelperIdeHelperServiceProvider::class);
}

四、使用publish命令将软件包配置复制到本地配置:

php artisan vendor:publish --provider="BarryvdhLaravelIdeHelperIdeHelperServiceProvider" --tag=config

修改配置文件ide-helper.php自动为链式操作注释):

'include_fluent' => true,

五、为 Facades 生成注释

必须首先清除bootstrap/compiled.php,运行以下命令进行清除:

php artisan clear-compiled

为 Facades 生成注释:

php artisan ide-helper:generate

六、为模型生成注释

php artisan ide-helper:models

这时会出现询问:

Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (Yes/No):  (yes/no) [no]:

输入 yes 则会直接在模型文件中写入注释,否则会生成「_ide_helper_models.php」文件。建议选择 yes,这样在跟踪文件的时候不会跳转到「_ide_helper_models.php」文件,不过这么做最好对模型文件做个备份,至少在生成注释之前用 git 控制一下版本,以防万一。

提示: 为模型生成字段信息必须在数据库中存在相应的数据表,不要生成 migration 还没运行 migrate 的时候就生成注释,这样是得不到字段信息的。

七、生成 .phpStorm.meta.php

php artisan ide-helper:meta

可以生成一个PhpStorm meta 文件去支持工厂模式. 对于 Laravel, 这意味着我们可以让 PhpStorm 理解我们从 IoC 容器中解决了什么类型的对象。例如:事件将返回一个「IlluminateEventsDispatcher」对象,利用 meta 文件您可以调用 app('events') 并且它将自动完成 Dispatcher 的方法。

app('events')->fire();
App::make('events')->fire();

/** @var IlluminateFoundationApplication $app */
$app->make('events')->fire();

// When the key is not found, it uses the argument as class name
app('AppSomeClass');

提示:如果 .phpStorm.meta.php 文件不生效的话,则可能需要重启PHPSTORM。

八、自动运行 generate

想在依赖包更新时自动更新注释,可以在 composer.json 文件中做如下配置:

scripts标签中添加下面的代码:

"post-update-cmd": [
    "Illuminate\Foundation\ComposerScripts::postUpdate",
    "php artisan ide-helper:generate",
    "php artisan ide-helper:meta"
]

 其他操作相关文档:

https://packagist.org/packages/barryvdh/laravel-ide-helper

https://laravel-china.org/articles/10172/laravel-super-good-code-prompt-tool-laravel-ide-helper