Class App\Http\Controllers\PostConstroller 不存在

Class App\Http\Controllers\PostConstroller does not exist

您好,我尝试用 Laravel 创建 post,但出现此错误:

Class App\Http\Controllers\PostConstroller does not exist

路线:

Route::get('/', function () {
    return view('welcome');
});

Auth::routes(['verify' => true]);

Route::get('/home', 'HomeController@index')->name('home');
Route::get('/profile/{user}', 'ProfileController@show')->name('profile.show');
Route::get('/posts/create', 'PostConstroller@create')->name('posts.create');
Route::post('/posts', 'PostConstroller@store')->name('posts.store');

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function create()
    {
        return view('posts.create');
    }
}

型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

我可以做些什么来解决这个错误?

嘿,你没注意到导入时有拼写错误,应该是 PostController 而不是 PostConstroller

改变这个

App\Http\Controllers\PostConstroller

App\Http\Controllers\PostController

是的,同样的问题与您的路线有关:

Route::get('/posts/create', 'PostConstroller@create')->name('posts.create');
Route::post('/posts', 'PostConstroller@store')->name('posts.store');

将您的路线更改为:

Route::get('/posts/create', 'PostController@create')->name('posts.create'); 
Route::post('/posts', 'PostController@store')->name('posts.store');

谢谢