我正在学习laravel。我尝试了很多次,但是在我的用户控制器中没发现什么问题。请仔细阅读代码,为我提供帮助。
Illuminate \ Contracts \ Container \ BindingResolutionException目标类 [用户]不存在。
web.php文件
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
//return redirect('sample');
});
// Route::get('sample/{id}',function($id){
// echo $id;
// return view('sample');
// });
// Route::view('sample','sample');
// Route::redirect('youtube','sample');
Route::get('users','User@index');
Route::get('show','User@show');
这是我的控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class User extends Controller
{
//
function index()
{
return ['name' => 'Abhishek'];
}
function show()
{
echo "Hello controller";
}
}
答案 0 :(得分:0)
laravel 8路线已更改
您应该这样声明路线
您有3个首选...
Route::get('user','App\Http\Controllers\User@index');
use App\Http\Controllers\User;
Route::get('user',[User::class,'index']);
如果您不想更改路线,请查看RouteServiceProvider并更改,
将$this->namespace=null;
更改为$this->namespace='App\\Http\\Controllers';
https://github.com/laravel/laravel/blob/master/app/Providers/RouteServiceProvider.php
$this->namespace=null; //laravel 8
protected $namespace = 'App\\Http\\Controllers'; //previous laravel version
答案 1 :(得分:-1)
您需要用户模型。如果已经创建,请确保您的UserController具有
use App\Models\User;
在顶部。顺便说一句,正如我所注意到的,您控制器的名称是User。这是不好的做法。遵循Laravrel的命名约定不是必须的,但可以免除许多麻烦。用户应为型号名称,用户控制器应为控制器名称。