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 Plugin插件

二、应用 composer 安装 barryvdh/laravel-ide-helper和doctrine/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(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}

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

php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --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 容器中解决了什么类型的对象。例如:事件将返回一个「Illuminate\Events\Dispatcher」对象,利用 meta 文件您可以调用 app('events') 并且它将自动完成 Dispatcher 的方法。

app('events')->fire();
\App::make('events')->fire(); /** @var \Illuminate\Foundation\Application $app */
$app->make('events')->fire(); // When the key is not found, it uses the argument as class name
app('App\SomeClass');

提示:如果 .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

为PhpStorm添加Laravel 代码智能提示功能的更多相关文章

  1. PhpStorm下Laravel代码智能提示

    phpstorm&Laravel PHPstorm是我见过的最好的PHP的IDE,前年用的时候就毫不犹豫的抛弃了zend studio :) ,Laravel是我用过最好的框架,除了做手游后台 ...

  2. Laravel ---【转】PhpStorm下Laravel代码智能提示

    [转]http://blog.csdn.net/pangchengyong0724/article/details/54706775 第一步:在项目的composer.json中添加如下一行 &quo ...

  3. 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能

    一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...

  4. vi代码智能提示功能及相关配置

    vim是一款支持插件.功能无比强大的编辑器,无论你的系统是linux.unix.mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding.如果能把vim用好了,不仅编程效率能得 ...

  5. 为VS code中的项目添加特定的智能提示功能

    当我们的在用vscode开发项目的时候, 如果项目中引用了jquery包, 我们可以下面的方式获得jquery的类型提示 npm install @types/jquery --save-dev 或我 ...

  6. VS2013中实现angular代码智能提示

    第一步:在项目同添加angular js文件的引用: 这里使用NuGet包管理器来给项目添加angular js install-package angularjs 第二步:添加智能提示js文件 我们 ...

  7. pycharm开启代码智能提示和报错提示

    天呐,经历了一大波周折,终于把提示给弄好了,加入没有提示的话,pycharm就是一个空格了,没有什么作用,对我来说,真的是很困难的事情,所以无论如何都要去把这个智能提示给搞好了. 先讲讲我的经历吧.我 ...

  8. 后盾网lavarel视频项目---Laravel 安装代码智能提示扩展「laravel-ide-helper」

    后盾网lavarel视频项目---Laravel 安装代码智能提示扩展「laravel-ide-helper」 一.总结 一句话总结: laravel-ide-helper作用是:代码提示 larav ...

  9. 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题

    大部分PHP框架中,为了防止一个类被重复实例化,往往采用“单例模式”实例化类.我们的项目框架是这样做的: 先写好一个基类 /framework/Base.class.php,内容如下: <?ph ...

随机推荐

  1. js事件入门(3)

    3.键盘事件 3.1.onkeydown 键盘按下事件 当键盘按下的时候触发 <!DOCTYPE html> <html> <head> <meta char ...

  2. mfc 中unicode 字符和字符串的使用

    在MFC或SDK程序中,不需要进行任何关于unicode的设置,记住下面两个宏,保你程序一路畅通: 用TCHAR/TCHAR*代替char/char* 及wchar/wchar*用TEXT(" ...

  3. 懂了!VMware/KVM/Docker原来是这么回事儿

    云计算时代,计算资源如同小马哥当年所言,已经成为了互联网上的水和电. 虚拟主机.web服务器.数据库.对象存储等等各种服务我们都可以通过各种各样的云平台来完成. 而在云计算欣欣向荣的背后,有一个重要的 ...

  4. sharepoint 2010项目中,ashx页面获取SPContext.Current 为null的原因和解决方法

    //错误的写法 public void ProcessRequest(HttpContext context) { SPSecurity.RunWithElevatedPrivileges(deleg ...

  5. vue.js之常操作(实例)

    听说大家都开始用react.vue这些MVVM框架了,为了不落后,还是学学吧!(之前只对angular了解一点,时间一长,也忘得差不多了,所以学习vue相当于从小白开始) 从vue.js官网看一下,先 ...

  6. zabbix + grafana 展示

    环境CentOS 7.5 一,grafana 安装. 1,配置yum源 cat > /etc/yum.repos.d/grafana.repo <<EOF [grafana] nam ...

  7. Jmeter系列(38)- 详解性能监控工具 nmon

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 做性能测试,服务器监控是至关重要 ...

  8. Uni-app登录态管理(vuex)

    应用中,保持登录状态是常见需求,本文讲解使用uni-app框架时如何保持用户登录状态. 即:初次进入应用为未登录状态------->登录---------->关闭应用,再次打开------ ...

  9. 5.scrapy过滤器

    scrapy过滤器 1. 过滤器 当我们在爬取网页的时候可能会遇到一个调转连接会在不同页面出现,这个时候如果我们的爬虫程序不能识别出 该链接是已经爬取过的话,就会造成一种重复不必要的爬取.所以我们要对 ...

  10. JVM 学习笔记(四)

    回顾: 在之前的文章中,我们主要体现了当堆内存设置的比较小的情况下,比如:-Xmx20M -Xms20M,在项目运行的过程中,不断往内存中去添加对象, 这时候就会出现OOM,也就是内存溢出,本文章将展 ...