質問: ### 確認したいこと Laravel(バージョン 7.18.0)で認証機能を以下の記事の手順で追加しました。 更新! Laravel6/7「make:Auth」が無くなった 〜Laravel6/7でのLogin機能の実装方法〜MyMemo すると、ルート(web.php)に`Auth::routes();`が追加されたのですが、vsCode上、`Auth`に波線が表示され、マウスホバーすると`Undefined type 'Auth'.`という警告が出ています。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/09d4ca580b73e259cedd5691eec1b323.png) 名前空間で`Auth`を取り込んでもいないように見受けられるのですが、こちらの`Auth`はどこで定義されているのか教えていただきたいです。 なお、個人的には`namespace Illuminate\Support\Facades\Auth;`を元にしているのかと予想しているのですが、それならなぜ`use Illuminate\Support\Facades\Auth;`の記載がなくても動くのかわからずにいます。 ちなみに画面上の挙動は期待通り、問題なく動いております。 よろしくお願いします。
回答: config/app.php の、 ``` 'aliases' => [ //前略 'Auth' => Illuminate\Support\Facades\Auth::class, //後略 ], ``` です。 これは、laravelプロジェクトを作成した最初の段階から、このようになっています。(認証機能を追加したことによって、使えるようになったものではない、ということです) **config/app.php > aliases**は、よく使うクラスを、システム内のどこからでも「簡易なクラス名」で呼び出し可能にするもの、と思うと理解しやすいかなと思います。 ※laravelの内部的な詳しい話は、こちらを参考に。記事自体は古いものですが、仕組み自体は変わってないようなので、内容は間違ってないと思われます。 Authの他にも、全体を通してよく使われるだろうクラスは、初期でほとんど設定されているかと思いますが、例えば自分で定義したオリジナルのクラスなどを、namespase省略の簡単なクラス名で使えるようにしたい場合などに、ここに追記できます。