Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 目标类[Api\UserController]不存在_Php_Laravel - Fatal编程技术网

Php 目标类[Api\UserController]不存在

Php 目标类[Api\UserController]不存在,php,laravel,Php,Laravel,使用php artisan route:list后,我在Laravel 8中遇到此错误: Illumb\Contracts\Container\BindingResolutionException 目标类[Api\UserController]不存在 我在App\Http\Controllers\Api中有一个控制器: <?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use I

使用php artisan route:list后,我在Laravel 8中遇到此错误:

Illumb\Contracts\Container\BindingResolutionException 目标类[Api\UserController]不存在

我在App\Http\Controllers\Api中有一个控制器:

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return responde()->json($users);
    }
}

由于要导入
使用App\Http\Controllers\Api\UserController
名称空间语句,因此可以使用
::class
符号表示控制器类。它还将有额外的好处,因为IDE将能够导航到不同于字符串的路径

自Laravel 8以来,我猜RouteServiceProvider中不再将默认名称空间定义为
App\Http\Controllers
,而是由开发人员通过将$namespace属性设置为所需值来定义默认名称空间


在Larvel 8上,您不能像以前那样编写路由,下一个语法是

控制器:

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
user App\Models\User;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return responde()->json($users);
    }
}
<?php

use Illuminate\Support\Facades\Route;

Route::get('users', '\App\Http\Controllers\Api\UserController@index');

您可能需要从终端运行
composer dump autoload
来刷新autoloder。
<?php

use Illuminate\Support\Facades\Route;

Route::get('users', '\App\Http\Controllers\Api\UserController@index');
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;

Route::get('/Pages', [UserController::class, 'index']);