您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用Laravel IDE Helper提示工具,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
安裝 larave-ide-helper
# 如果只想在開(kāi)發(fā)環(huán)境 安裝請(qǐng)加上 --dev composer require barryvdh/laravel-ide-helper
安裝 doctrine/dbal 「請(qǐng)裝上它,在為模型注釋字段的時(shí)候必須用到它」
# 如果只想在開(kāi)發(fā)環(huán)境安裝請(qǐng)加上 --dev composer require "doctrine/dbal: ~2.3"
在 「config/app.php」的 「providers」數(shù)組中加入
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
如果你的 Laravel 版本小于 5.5 「如果沒(méi)記錯(cuò)」的話(huà),請(qǐng)注冊(cè)服務(wù)提供者,否則請(qǐng)忽略
如果你只在開(kāi)發(fā)環(huán)境中安裝「larave-ide-helper」,那么可以在「app/Providers/AppServiceProvider.php」的「register」方法中寫(xiě)入下面代碼:
public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } // ... }
導(dǎo)出配置文件(如果默認(rèn)配置就滿(mǎn)足需求了,也可以忽略這一步)
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
好了,接下去可以愉快的使用了
php artisan ide-helper:generate - 為 Facades 生成注釋
php artisan ide-helper:models - 為數(shù)據(jù)模型生成注釋
php artisan ide-helper:meta - 生成 PhpStorm Meta file
自動(dòng)為 Laravel 的 Facades 生成注釋
在命令行下運(yùn)行
php artisan ide-helper:generate
注:如果存在文件 「bootstrap/compiled.php」 需要先刪除, 可以在生成文當(dāng)前運(yùn)行 php artisan clear-compiled。
自動(dòng)為模型生成注釋
為所有模型生成注釋 php artisan ide-helper:models, 這時(shí)會(huì)出現(xiàn)詢(xún)問(wèn):
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 則會(huì)直接在模型文件中寫(xiě)入注釋?zhuān)駝t會(huì)生成「_ide_helper_models.php」文件。建議選擇 yes,這樣在跟蹤文件的時(shí)候不會(huì)跳轉(zhuǎn)到「_ide_helper_models.php」文件,不過(guò)這么做最好對(duì)模型文件做個(gè)備份,至少在生成注釋之前用 git 控制一下版本,以防萬(wàn)一。
提示: 為模型生成字段信息必須在數(shù)據(jù)庫(kù)中存在相應(yīng)的數(shù)據(jù)表,不要生成 migration 還沒(méi)運(yùn)行 migrate 的時(shí)候就生成注釋?zhuān)@樣是得不到字段信息的。
自動(dòng)為鏈?zhǔn)讲僮髯⑨?/p>
這是什么意思呢?舉個(gè)例子,在 migration 文件中經(jīng)??梢钥匆?jiàn)這樣的代碼:
$table->string('email')->unique();
這時(shí)候就算調(diào)用過(guò)了 php artisan ide-helper:generate,在調(diào)用像 ->unique() 這樣的鏈?zhǔn)讲僮鞯臅r(shí)候也無(wú)法實(shí)現(xiàn)代碼提示,這時(shí)候需要將配置文件「如果導(dǎo)出的話(huà)」'include_fluent' => false 修改為 'include_fluent' => true,重新運(yùn)行 php artisan ide-helper:generate。試試效果吧!
可以生成一個(gè) PhpStorm meta 文件去支持工廠(chǎng)模式。對(duì)于 Laravel, 這意味著我們可以讓 PhpStorm 理解我們從 IoC 容器中解決了什么類(lèi)型的對(duì)象。例如:事件將返回一個(gè)「IlluminateEventsDispatcher」對(duì)象,利用 meta 文件您可以調(diào)用 app ('events') 并且它將自動(dòng)完成 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 文件生效。 自動(dòng)運(yùn)行 generate
想在依賴(lài)包更新是自動(dòng)更新注釋?zhuān)梢栽?composer.json 文件中做如下配置:
"scripts":{ "post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan ide-helper:generate", "php artisan ide-helper:meta" ] }
提示:如果只在 dev 環(huán)境下部署 ide helper 還是不要這么做了,防止在生產(chǎn)環(huán)境中報(bào)錯(cuò)導(dǎo)致不必要的麻煩。
以上是“如何使用Laravel IDE Helper提示工具”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。