安装

安装 larave-ide-helper

# 如果只想在开发环境  
安装请加上 --dev  
composer require barryvdh/laravel-ide-helper

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

# 如果只想在开发环境安装请加上 --dev  
composer require "doctrine/dbal: ~2.3"

在 「config/app.php」的 「providers」数组中加入

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);  
    }  
    // ...  
}

导出配置文件(如果默认配置就满足需求了,也可以忽略这一步)

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

好了,接下去可以愉快的使用了

使用

php artisan ide-helper:generate – 为 Facades 生成注释

php artisan ide-helper:models – 为数据模型生成注释

php artisan ide-helper:meta – 生成 PhpStorm Meta file

自动为 Laravel 的 Facades 生成注释

在命令行下运行

php artisan ide-helper:generate
  • 注:如果存在文件 「bootstrap/compiled.php」 需要先删除, 可以在生成文当前运行 php artisan clear-compiled。

自动为模型生成注释

为所有模型生成注释 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 的时候就生成注释,这样是得不到字段信息的。

自动为链式操作注释

这是什么意思呢?举个例子,在 migration 文件中经常可以看见这样的代码:

$table->string('email')->unique();

这时候就算调用过了 php artisan ide-helper:generate,在调用像 ->unique() 这样的链式操作的时候也无法实现代码提示,这时候需要将配置文件「如果导出的话」’include_fluent’ => false 修改为 ‘include_fluent’ => true,重新运行 php artisan ide-helper:generate。试试效果吧!

生成 .phpStorm.meta.php

可以生成一个 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 文件生效。  
自动运行 generate

想在依赖包更新是自动更新注释,可以在 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” 这两个包,不用做什么配置就可以愉快的玩耍了。

如发现文中错误,请!斧!正!

以上就是分享laravel超好用程序提示工具Laravel IDE Helper的详细内容,更多请关注亿码酷站其它相关文章!



分享laravel超好用程序提示工具Laravel IDE Helper
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!