Classがないというエラー

PostsController.phpに対応するルートを定義するために、
routes.phpにあったルートを全て消し、

Route::resource('posts', 'PostsController');

を追加しました。


何が定義されているか確認するために、以下のコマンドを打ったら、

php artisan route:list
[ReflectionException]
  Class App\Http\Controllers\PostsController does not exist

というエラーが出てきました。




解決方法

PostsController.phpにある

class posts extends Controller {

を、

class PostsController extends Controller {

に変えて

php artisan route:list

をコマンドを打つと

+--------+-----------+--------------------+---------------+----------------------------------------------+------------+
| Domain | Method    | URI                | Name          | Action                                       | Middleware |
+--------+-----------+--------------------+---------------+----------------------------------------------+------------+
|        | GET|HEAD  | posts              | posts.index   | App\Http\Controllers\PostsController@index   | web        |
|        | POST      | posts              | posts.store   | App\Http\Controllers\PostsController@store   | web        |
|        | GET|HEAD  | posts/create       | posts.create  | App\Http\Controllers\PostsController@create  | web        |
|        | GET|HEAD  | posts/{posts}      | posts.show    | App\Http\Controllers\PostsController@show    | web        |
|        | PUT|PATCH | posts/{posts}      | posts.update  | App\Http\Controllers\PostsController@update  | web        |
|        | DELETE    | posts/{posts}      | posts.destroy | App\Http\Controllers\PostsController@destroy | web        |
|        | GET|HEAD  | posts/{posts}/edit | posts.edit    | App\Http\Controllers\PostsController@edit    | web        |
+--------+-----------+--------------------+---------------+----------------------------------------------+------------+

がちゃんと表示されるようになりました!