2017-06-01 80 views
0

使用@if (Auth::check())時,PhpStorm不識別Auth如何讓PhpStorm在刀片文件中自動完成外觀

我該如何告訴PhpStorm Auth\Illuminate\Support\Facades\Auth

測試:

@php 
use Illuminate\Support\Facades\Auth; 
/** @var \Illuminate\Support\Facades\Auth Auth */ 
class Auth extends \Illuminate\Support\Facades\Auth {} 
@endphp 

@use(\Illuminate\Support\Facades\Auth) 

既不工作,仍然得到 「未定義類驗證」

編輯1:

class Auth extends \Illuminate\Support\Facades\Auth {}線工作,如果它在另一個文件中,例如,「_ide_helper .php「,它在刀片文件中不起作用。

回答

3

IDE將無法識別通過外觀訪問的方法。 laravel-ide-helper是解決此問題的流行軟件包。它會生成IDE可以識別的自定義幫助文件。這不是一個完整的解決方案,但它涵蓋了大部分的laravel類,並有助於自動完成。這是你的選擇。

  1. 下載和最新_ide_helper.php文件laravel從https://gist.github.com/barryvdh/5227822

  2. 拖放到你的項目安裝laravel-ide-helper包,讓它在運行中生成的輔助文件。 https://github.com/barryvdh/laravel-ide-helper

我個人建議安裝軟件包。

+0

該方法不是問題,它不需要重新構建類,而是在刀片內部進行。 –

+1

@PugganSe我使用ide-helper和phpstorm,我從不擔心這一點。 'Auth'面被註冊到'\ Illuminate \ Support \ Facades \ Auth'。所以通常你可以在控制器中使用'\ Auth :: check()'或'Auth :: check()'''使用Auth'。但視圖默認爲根命名空間,所以即使你的IDE抱怨,單獨使用'Auth :: check()'也可以工作。但是使用幫助程序文件不會,因爲它創建了IDE可識別的類。看看這個https://gist.github.com/barryvdh/5227822#file-_ide_helper-php-L13261 – Sandeesh

+1

@PugganSe在這裏與Laravel Helper很好的工作:http://postimg.org/image/ndzheeg77/ – LazyOne

1

爲了得到正確的班級使用@if (\Auth::check())

+0

仍未定義類 –

+0

嘗試:'use \ Auth;' –

+0

未定義的類在該使用行 –

相關問題