2017-06-01 12 views
0

@if (Auth::check())を使用すると、PhpStormはAuthを認識しません。ブレードファイルのファサードをオートコンプリートする方法

Auth\Illuminate\Support\Facades\AuthであることをPhpStormに伝えるにはどうすればよいですか?

はテスト済み:

@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が認識するカスタムヘルパーファイルを生成します。これは完全な解決策ではありませんが、ほとんどのラーベルクラスをカバーし、自動補完に役立ちます。あなたのオプションがあります。

  1. ダウンロードしてlaravel-ide-helperパッケージをインストールし、その場でのヘルパーファイルを生成させるhttps://gist.github.com/barryvdh/5227822

  2. からプロジェクトにlaravelの最新_ide_helper.phpファイルをドロップします。 https://github.com/barryvdh/laravel-ide-helper

私は個人的にパッケージをインストールすることをお勧めします。

+0

メソッドは問題ではありません。クラス内では、クラスを全く再調整しません。 –

+1

@Puggan私はide-helperとphpstormを使用しているので、心配する必要はありません。 'Auth'顔は' \ Illuminate \ Support \ Facades \ Auth'に登録されます。通常は、あなたのコントローラで 'Auth'を使って' Auth :: check() 'や' Auth :: check() 'を使います。しかし、ビューはルートネームスペースにデフォルト設定されているので、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

その使用行で未定義のクラス –

関連する問題