我在内部创建了一个UserController
app/Http/Controllers/API/UserController.php
在UserController.php内部,我有这个namespace App\Http\Controllers\API;
在api.php里面,我有这个Route::apiResources(['user' => 'API\UserController']);
当我尝试显示路线列表时,出现以下错误。
错误:目标类[App \ Http \ Controllers \ UserController]没有存在。
我们如何告诉Laravel UserController
在app/Http/Controllers/API?
内部
您是否已检查指定的路径正确?并且您还可以在UserController中检查名称空间,它对应于:namespace App\Http\Controllers\API
吗?
或者,您也可以简单地在wep / api路由中添加控制器:
Route::get('prefix', 'DirOfYourController\YourController@SomeFunction);
或如文档中所述,您可以在这里查看:
https://laravel.com/docs/master/routing#route-group-namespaces
肯定是因为您的web.php
或api.php
文件之一确保其中的文件名称空间正确Route::get('foo', 'API\UserController');
您只需遵循两个步骤即可达到相同的目的:
Step1:在UserController
中定义正确的名称空间,如下所示
namespace App\Http\Controllers\API;
Step2:在web.php
中用目录名称定义路由,例如
Route::get('dashboard', 'API\UserController@dashboard');
您需要定义名称空间,以便laravel可以找到控制器:
<?php
namespace App\Http\Controllers\API;
...
class UserController extends Controller {
您已经用名称空间API
定义了api.php:
Route::apiResources(['user' => 'API\UserController']);
尝试清除路由缓存:
php artisan route:clear
php artisan optimize