Laravel 门面自动补全工具 laravel-ide-helper

2019-08-27 05:43:13

参考地址 Laravel 门面自动补全工具 laravel-ide-helper

简介

当我们在 PhpStorm 编辑器中,开发 Laravel 框架的项目时,很多类方法都不能自动补全和定位,比如 Facade 门面的方法,DB::table()、Route::get() 等。


laravel-ide-helper 工具可以解决这个问题。


安装和配置

首先,通过 composer 安装 laravel-ide-helper


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

然后,注册服务提供者。有两种注册方式:


在 config/app.php 的 providers 数组中注册服务提供者


Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

在 app/Providers/AppServiceProvider.php 的 register() 方法中注册。


public function register()

{

    if ($this->app->environment() !== 'production') {

        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);

    }

    // ...

}

推荐使用第二种方式,因为它只会在非生产环境中加载 Laravel IDE Helper。


自动生成 Laravel 门面对应的 phpDoc

注意:在生成 phpDoc 之前,我们需要先清除 bootstrap/compiled.php 文件。


清除命令是:


php artisan clear-compiled

然后,执行下面的命令生成 phpDoc 文件。


php artisan ide-helper:generate

生成的 phpDoc 就是项目根目录下的 _ide_helper.php 文件,里面包含了 Laravel 门面的相关信息。


为了方便,你可以在 composer.json 文件中作如下配置:


"scripts":{

    ...

    "post-update-cmd": [

        "Illuminate\\Foundation\\ComposerScripts::postUpdate",

        "php artisan ide-helper:generate",

        "php artisan ide-helper:meta"

    ]

},

你还可以发布配置文件,以便修改默认的实现。


php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config

生成器会尝试去识别真正的类,如果找不到,你可以在配置文件中定义。


有些类需要数据库连接,如果没有相应的数据库连接,某些门面可能无法包含进来。


你可以选择要包含的辅助函数文件,默认该选项并未开启,但是你可以通过 --helpers (-H) 选项进行覆盖。


默认已经引入了 Illuminate/Support/helpers.php ,当然你还可以在配置文件中添加自己的辅助函数文件。


关于 laravel-ide-helper 的更多功能,请参考 https://github.com/barryvdh/laravel-ide-helper



  • 2020-12-13 19:49:32

    Docker run命令详解

    命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Usage: Run a command in a new container 中文意思为:通过run命令创建一个新的容器(container)

  • 2020-12-13 20:15:43

    解决gitlab限制上传文件大小的问题

    服务端的限制有两个地方一个是gitlab本身,另外一个是gitlab使用的nginx。 gitlab本身也是很好解决的,使用管理员用户登录gitlab在设置Account and limit中加大Maximum attachment size (MB)和Maximum push size (MB)即可解决 nginx的话修改gitlab.rb这个文件中

  • 2020-12-14 15:06:50

    youtube-dl视频下载神器

    youtube-dl 是一款命令行下的视频下载工具,看着名称像是 YouTube 下载工具,其实这款工具不仅支持 YouTube ,还支持非常多的视频网站,比如优酷、爱奇艺、 bilibili 等,在写这篇日志的时候,暂时不支持腾讯视频。

  • 2020-12-15 20:06:43

    更多WebTorrent例子

    WebTorrent是第一个运行在浏览器的Torrent客户端。是的,没错。就是浏览器! 它完全是用JavaScript编写的,并使用WebRTC实现了真正的点对点传输。不需要浏览器插件、扩展或安装。 使用开放的Web标准,WebTorrent将网站用户连接在一起,形成一个分布式的、分散的Browser-to-browser网络,以实现高效的文件传输。

  • 2020-12-16 06:43:06

    WebRTC 实现Android点到点互连(含Demo)

    WebRTC被誉为是web长期开源开发的一个新启元,是近年来web开发的最重要创新。WebRTC允许Web开发者在其web应用中添加视频聊天或者点对点数据传输,不需要复杂的代码或者昂贵的配置。目前支持Chrome、Firefox和Opera,后续会支持更多的浏览器,它有能力达到数十亿的设备。