溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何使用Laravel IDE Helper提示工具

發(fā)布時(shí)間:2021-07-01 15:34:33 來(lái)源:億速云 閱讀:199 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下如何使用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。試試效果吧!

生成 .phpStorm.meta.php

可以生成一個(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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI