授权控制器不存在
AuthController doesnot exist
我正在 laravel 5.3.29 制作控制器时出现错误。
我到处搜索并且已经尝试过这个方法。
- 作曲家更新
- 作曲家转储自动加载
我的路线文件是。
我的 AuthController 文件。
如果有人知道我哪里做错了请告诉我谢谢。
Laravel.log:
[2017-01-15 07:30:32] local.ERROR: ReflectionException: Class App\Http\Controllers\Auth\AuthController 在 C:[=46= 中不存在] tainer.php:749
堆栈跟踪:
#0 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): 反射Class->__construct('App\Http\Contro...')
#1 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\Http\Contro...', 数组)
#2 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\Http\Contro...', 数组)
#3 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(203): Illuminate\Foundation\Application->make('App\Http\Contro...')
#4 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(316): Illuminate\Routing\Route->getController()
#5 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(278):Illuminate\Routing\Route->controllerMiddleware()
#6 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(666):Illuminate\Routing\Route->gatherMiddleware()
#7 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(646):Illuminate\Routing\Router->gatherRouteMiddleware(对象(Illuminate\Routing\Route))
#8 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(629): Illuminate\Routing\Router->runRouteWithinStack(对象(Illuminate\Routing\Route), 对象(Illuminate\Http\Request))
#9 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(607):Illuminate\Routing\Router->dispatchToRoute(对象(Illuminate\Http\Request))
#10 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(268):Illuminate\Routing\Router->dispatch(对象(Illuminate\Http\Request))
#11 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{闭包}(对象(Illuminate\Http\Request))
#12 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{闭包}(对象(Illuminate\Http\Request))
#13 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(137): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(对象(Illuminate\Http\Request), 对象(闭包))
#14 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{闭包}(对象(Illuminate\Http\Request))
#15 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{闭包}(对象(Illuminate\Http\Request))
#16 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(150): Illuminate\Pipeline\Pipeline->then(对象(闭包))
#17 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(117):Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(对象(Illuminate\Http\Request))
#18 C:\laragon\www\MainProject\public\index.php(53):Illuminate\Foundation\Http\Kernel->handle(对象(Illuminate\Http\Request))
#19 {主要}<br>
[2017-01-15 07:30:32] local.ERROR: ReflectionException: Class App\Http\Controllers\Auth\AuthController 在 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php:749 中不存在
堆栈跟踪:
#0 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): 反射Class->__construct('App\Http\Contro...')
#1 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\Http\Contro...', 数组)
#2 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\Http\Contro...', 数组)
#3 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(203): Illuminate\Foundation\Application->make('App\Http\Contro...')
#4 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(316): Illuminate\Routing\Route->getController()
#5 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(278):Illuminate\Routing\Route->controllerMiddleware()
#6 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(666):Illuminate\Routing\Route->gatherMiddleware()
#7 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(193): Illuminate\Routing\Router->gatherRouteMiddleware(对象(Illuminate\Routing\Route))
#8 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(163): Illuminate\Foundation\Http\Kernel->gatherRouteMiddleware(对象(Illuminate\Http\Request))
#9 C:\laragon\www\MainProject\public\index.php(58): Illuminate\Foundation\Http\Kernel->终止(对象(Illuminate\Http\Request), 对象(Illuminate\Http\Response))
#10 {主要}
在 Laravel 4.2 中,我认为你不需要
namespace App\Http\Controllers\Auth
use App\Http\Controllers\Controller
删除即可,请注意你的控制器路径
确保您的 AuthController.php
位于 app/controllers
你确定你正在使用 Laravel 4.2 吗?为什么路线在 web.php
中?
据我所知,您正在使用 Laravel 5.3 如果您使用该结构,请再次确认您使用的是哪个 Laravel 版本
将路线更改为:
Route::get('/login', 'Auth\AuthController@getLogin');
还要确保 class 文件在此目录中:
app\Http\Controllers\Auth
将命名空间更改为 App\Http\Controllers
而不是 App\Http\Controllers\Auth
或者,在您的 routes.php 中说 Route::get('/login', 'Auth\AuthController@getLogin');
控制器中手动输入文件出现的问题
- 我删除了我使用新文件选项创建的手动文件
崇高
- 然后用 laragon 终端再次添加 php artisan make:controller
授权控制器。
- 然后复制粘贴之前的代码,现在可以正常工作了。
由于命名空间路径未识别。
Route::group([
'middleware' => 'api',
'namespace' => 'App\Http\Controllers',
'prefix' => 'auth'
], function ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('me', 'AuthController@me');
});
web.php 中缺少 Auth 文件夹名称
所以会是
Auth\AuthController@getLogin
我在 laravel 8 中使用上述语法时遇到问题,所以请使用 web.php 或 api.php -
中的内容
use App\Http\Controllers\Auth\AuthController
Route::post('login', [AuthController::class, 'getLogin']);
要解决 AuthController 在 Laravel 8 或更高版本中不存在的错误,只需转至
app-> Providers -> RouteServiceProvider.php and un-comment below line.
protected $namespace = 'App\Http\Controllers';
路线::组([
'middleware' => 'api',
'namespace' => 'App\Http\Controllers',
'prefix' => 'auth'
], 函数 ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('profile', 'AuthController@profile');
});
我删除了这个 'namespace' => 'App\Http\Controllers' 到
路线::组([
'middleware' => 'api',
'prefix' => 'auth'
], 函数 ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('profile', 'AuthController@profile');
});
并将此行添加到顶部
使用App\Http\Controllers\AuthController;
我正在 laravel 5.3.29 制作控制器时出现错误。
我到处搜索并且已经尝试过这个方法。
- 作曲家更新
- 作曲家转储自动加载
我的路线文件是。
我的 AuthController 文件。
如果有人知道我哪里做错了请告诉我谢谢。
Laravel.log:
[2017-01-15 07:30:32] local.ERROR: ReflectionException: Class App\Http\Controllers\Auth\AuthController 在 C:[=46= 中不存在] tainer.php:749
堆栈跟踪:
#0 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): 反射Class->__construct('App\Http\Contro...')
#1 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\Http\Contro...', 数组)
#2 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\Http\Contro...', 数组)
#3 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(203): Illuminate\Foundation\Application->make('App\Http\Contro...')
#4 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(316): Illuminate\Routing\Route->getController()
#5 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(278):Illuminate\Routing\Route->controllerMiddleware()
#6 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(666):Illuminate\Routing\Route->gatherMiddleware()
#7 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(646):Illuminate\Routing\Router->gatherRouteMiddleware(对象(Illuminate\Routing\Route))
#8 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(629): Illuminate\Routing\Router->runRouteWithinStack(对象(Illuminate\Routing\Route), 对象(Illuminate\Http\Request))
#9 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(607):Illuminate\Routing\Router->dispatchToRoute(对象(Illuminate\Http\Request))
#10 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(268):Illuminate\Routing\Router->dispatch(对象(Illuminate\Http\Request))
#11 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{闭包}(对象(Illuminate\Http\Request))
#12 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{闭包}(对象(Illuminate\Http\Request))
#13 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(137): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(对象(Illuminate\Http\Request), 对象(闭包))
#14 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{闭包}(对象(Illuminate\Http\Request))
#15 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{闭包}(对象(Illuminate\Http\Request))
#16 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(150): Illuminate\Pipeline\Pipeline->then(对象(闭包))
#17 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(117):Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(对象(Illuminate\Http\Request))
#18 C:\laragon\www\MainProject\public\index.php(53):Illuminate\Foundation\Http\Kernel->handle(对象(Illuminate\Http\Request))
#19 {主要}<br>
[2017-01-15 07:30:32] local.ERROR: ReflectionException: Class App\Http\Controllers\Auth\AuthController 在 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php:749 中不存在
堆栈跟踪:
#0 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): 反射Class->__construct('App\Http\Contro...')
#1 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\Http\Contro...', 数组)
#2 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\Http\Contro...', 数组)
#3 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(203): Illuminate\Foundation\Application->make('App\Http\Contro...')
#4 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(316): Illuminate\Routing\Route->getController()
#5 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Route.php(278):Illuminate\Routing\Route->controllerMiddleware()
#6 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Routing\Router.php(666):Illuminate\Routing\Route->gatherMiddleware()
#7 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(193): Illuminate\Routing\Router->gatherRouteMiddleware(对象(Illuminate\Routing\Route))
#8 C:\laragon\www\MainProject\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(163): Illuminate\Foundation\Http\Kernel->gatherRouteMiddleware(对象(Illuminate\Http\Request))
#9 C:\laragon\www\MainProject\public\index.php(58): Illuminate\Foundation\Http\Kernel->终止(对象(Illuminate\Http\Request), 对象(Illuminate\Http\Response))
#10 {主要}
在 Laravel 4.2 中,我认为你不需要
namespace App\Http\Controllers\Auth
use App\Http\Controllers\Controller
删除即可,请注意你的控制器路径
确保您的 AuthController.php
位于 app/controllers
你确定你正在使用 Laravel 4.2 吗?为什么路线在 web.php
中?
据我所知,您正在使用 Laravel 5.3 如果您使用该结构,请再次确认您使用的是哪个 Laravel 版本
将路线更改为:
Route::get('/login', 'Auth\AuthController@getLogin');
还要确保 class 文件在此目录中:
app\Http\Controllers\Auth
将命名空间更改为 App\Http\Controllers
而不是 App\Http\Controllers\Auth
或者,在您的 routes.php 中说 Route::get('/login', 'Auth\AuthController@getLogin');
控制器中手动输入文件出现的问题
- 我删除了我使用新文件选项创建的手动文件 崇高
- 然后用 laragon 终端再次添加 php artisan make:controller
授权控制器。 - 然后复制粘贴之前的代码,现在可以正常工作了。
由于命名空间路径未识别。
Route::group([
'middleware' => 'api',
'namespace' => 'App\Http\Controllers',
'prefix' => 'auth'
], function ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('me', 'AuthController@me');
});
web.php 中缺少 Auth 文件夹名称 所以会是
Auth\AuthController@getLogin
我在 laravel 8 中使用上述语法时遇到问题,所以请使用 web.php 或 api.php -
中的内容use App\Http\Controllers\Auth\AuthController
Route::post('login', [AuthController::class, 'getLogin']);
要解决 AuthController 在 Laravel 8 或更高版本中不存在的错误,只需转至
app-> Providers -> RouteServiceProvider.php and un-comment below line.
protected $namespace = 'App\Http\Controllers';
路线::组([
'middleware' => 'api',
'namespace' => 'App\Http\Controllers',
'prefix' => 'auth'
], 函数 ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('profile', 'AuthController@profile');
});
我删除了这个 'namespace' => 'App\Http\Controllers' 到
路线::组([
'middleware' => 'api',
'prefix' => 'auth'
], 函数 ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('profile', 'AuthController@profile');
});
并将此行添加到顶部
使用App\Http\Controllers\AuthController;