2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel 5.7でControllerのファイル名を少し変更(大文字)しただけなのに、Controllerファイルが見つからないエラーが出るようになった

Last updated at Posted at 2019-08-28

問題

すでに作ったControllerファイル名を変更(大文字・小文字)したら、ファイルが見つからないエラーが出てサイトが動かなくなった。表示されたエラーは以下の通り:

ErrorException (E_WARNING)
include(/hogehoge/backend/vendor/composer/../../app/Http/Controllers/NameOfController.php): 
failed to open stream: No such file or directory

環境と経緯

  • Laravel 5.7使用。
  • "php artisan make:controller nameOfController"でコントローラを追加。
  • 自動生成されたファイルの名前(nameOfController.php)を、のちに"NameOfController.php"へ変更。
  • ファイル名を変更した後で、routes/web.phpには、"Route::get('/entrance', 'NameOfController@hoge')->name('hoge');"を追加。
  • 前述の問題が発生。ErrorException・No such file or directoryエラーが発生し、サイトが動かなくなった。

解決策

ターミナルで、"composer dump-autoload"をlaravelプロジェクトのルートディレクトリで実行する。こちらのブログが参考になりました。

背景

コントローラを作っていくうちに、コントローラファイル名のケーススタイルがバラバラになってきた(camelCase名で作ったコントローラよりPascalCaseの方が多くなってきた)ため、手に負えなくなる前に統一しておこうと思った途端に起きた問題でした。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?