目标 class [用户] 不存在。 - Laravel
Target class [User] does not exist. - Laravel
我正在学习laravel。我尝试了很多次,但我没有发现我的用户有什么问题 controller.Please 查看代码并帮助我解决问题。
Illuminate\Contracts\Container\BindingResolutionException Target class
[User] does not exist.
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";
}
}
您需要用户模型。如果您已经创建,请确保您的 UserController 具有
use App\Models\User;
在顶部。顺便说一句,正如我所注意到的,您的控制器名称是 User。这是不好的做法。遵循 Laravrel 的命名约定不是必须的,但它可以让你免于很多麻烦。 User 应为模型名称,UserController 应为控制器名称。
laravel 8路线已更改
你应该这样声明路由
你有 3 个喜欢它...
- 1
Route::get('user','App\Http\Controllers\User@index');
- 2
use App\Http\Controllers\User;
Route::get('user',[User::class,'index']);
- 3
如果你不想改变路线,看看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
我正在学习laravel。我尝试了很多次,但我没有发现我的用户有什么问题 controller.Please 查看代码并帮助我解决问题。
Illuminate\Contracts\Container\BindingResolutionException Target class [User] does not exist.
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";
}
}
您需要用户模型。如果您已经创建,请确保您的 UserController 具有
use App\Models\User;
在顶部。顺便说一句,正如我所注意到的,您的控制器名称是 User。这是不好的做法。遵循 Laravrel 的命名约定不是必须的,但它可以让你免于很多麻烦。 User 应为模型名称,UserController 应为控制器名称。
laravel 8路线已更改
你应该这样声明路由
你有 3 个喜欢它...
- 1
Route::get('user','App\Http\Controllers\User@index');
- 2
use App\Http\Controllers\User;
Route::get('user',[User::class,'index']);
- 3
如果你不想改变路线,看看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