Laravel IDE Helper 是一个极其好用的代码提示及补全工具,能够给编写代码带来极大的便利。php
原文连接laravel
Githubgit
# 若是只想在开发环境安装请加上 --dev composer require barryvdh/laravel-ide-helper
# 若是只想在开发环境安装请加上 --dev composer require "doctrine/dbal: ~2.3"
在 「config/app.php」的 「providers」数组中加入github
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
若是你的
Laravel
版本小于 5.5 「若是没记错」的话,请注册服务提供者,不然请忽略
若是你只在开发环境中安装「larave-ide-helper」,那么能够在「app/Providers/AppServiceProvider.php」的「register」方法中写入下面代码:数据库
public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } // ... }
导出配置文件(若是默认配置就知足需求了,也能够忽略这一步)json
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
好了,接下去能够愉快的使用了bootstrap
在命令行下运行数组
php artisan ide-helper:generate
注: 若是存在文件 「bootstrap/compiled.php」 须要先删除, 能够在生成文当前运行
php artisan clear-compiled
。
为全部模型生成注释 php artisan ide-helper:models
, 这时会出现询问:app
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 控制一下版本,以防万一。composer
提示: 为模型生成字段信息必须在数据库中存在相应的数据表,不要生成 migration 还没运行 migrate 的时候就生成注释,这样是得不到字段信息的。
这是什么意思呢?举个例子,在 migration 文件中常常能够看见这样的代码:
$table->string('email')->unique();
这时候就算调用过了 php artisan ide-helper:generate
,在调用像 ->unique()
这样的链式操做的时候也没法实现代码提示,这时候须要将配置文件「若是导出的话」'include_fluent' => false
修改成 'include_fluent' => true
,从新运行 php artisan ide-helper:generate
。试试效果吧!
能够生成一个PhpStorm meta 文件去支持工厂模式. 对于 Laravel, 这意味着咱们可让 PhpStorm 理解咱们从 IoC 容器中解决了什么类型的对象。例如:事件将返回一个「IlluminateEventsDispatcher」对象,利用 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 使 .phpStorm.meta.php 文件生效。
想在依赖包更新是自动更新注释,能够在 composer.json 文件中作以下配置:
"scripts":{ "post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan ide-helper:generate", "php artisan ide-helper:meta" ] }
提示:若是只在 dev 环境下部署 ide helper 仍是不要这么作了,防止在生产环境中报错致使没必要要的麻烦。
整个使用大概就是这样了,其实在 Laravel 5.5 以上版本只须要装上 "larave-ide-helper" 和 "doctrine/dbal: ~2.3" 这两个包,不用作什么配置就能够愉快的玩耍了。
如发现文中错误,请!斧!正!