• 为PhpStorm添加Laravel 代码智能提示功能


    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-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

  • 相关阅读:
    苹果mac shell 终端 命令行快捷键——行首行尾
    mac 编译ffmpeg真简单!
    (2)小彩灯接收数据解析
    JSON数据解析(自写)
    ESP-手机--双向通信模式
    史上最全脉搏心率传感器PulseSensor资料(电路图+中文说明书+最全源代码)
    OpenSCAD 大白
    用OpenSCAD設計特製的遊戲骰子
    如何使用openscad绘制一个简单的键帽.
    OpenSCAD(1)基础教程
  • 原文地址:https://www.cnblogs.com/jxl1996/p/10250055.html
Copyright © 2020-2023  润新知