phpStormでLaravelプロジェクトの問題(2)

Laravelプロジェクトは小文字で入力!

以前別の記事「phpStormでのLaravelプロジェクト作成時の問題」でプロジェクト作成時の問題等を紹介しましたが、新しいphpStorm 2020.2へ更新をしたら新しいプロジェクトを作成するUIが変更になりました。Laravelプロジェクトを新しく作ろうとしてちょっとハマりました。

phpStormでLaravelプロジェクト作成

結論としてPackageでインストールするパッケージの名前を大文字から始まる「Laravel」とするとプロジェクトにマッチしません。必ず小文字の「laravel」から入力してください。

単純大文字小文字の違いですがハマりました。

相変わらずRoute::hasがエラー

phpStormでLaravelを開発する時に色々と改善されてきていてクラスの参照でエラーが発生するトラブル等少なくなってきましたが相変わらずRoute::hasが見つからないとエラーが出ています。

相変わらずRoute::hasでエラー

この根本対策ですが結局Laravelのファイル内にhasメソッドが定義されていないのが原因では無いかと思います。プロジェクトを作成した時に作成されたディレクトリ内の、

\vendor\laravel\framework\src\Illuminate\Support\Facades\Route.php

ファイルにhasメソッドを追加する事でエラーが解消されました。このファイルのメソッド定義部分に、

* method static \Illuminate\Routing\Route has($strings)

の1行を追加してください。本来ならこれで解決するのかなと思うのですが、hasメソッドを呼ぶ時にはRouteクラスを、

Illuminate\Support\Facades\Route

として下さい。これでエラーが消えます。また動作も問題なさそうです。もっと原因を調べるにはFacades等を勉強しないといけない様です。