问题
My whole application, made in Laravel 5.2, is working perfectly fine but when i tried to get list of routes through following command:
php artisan route:list
It shows me following error:
[ReflectionException] Class App\Http\Controllers\AuthController does not exist
i tried to add namespace aswell:
Route::group(['middleware' => ['web'], 'namespace' => 'Auth'], function () {
Route::auth();
});
then it shows me following error:
[ReflectionException]
Class App\Http\Controllers\Auth\Auth\AuthController does not exist
My routes file is:
Route::group(['middleware' => ['web'], 'namespace'=>'Auth'], function() {
Route::auth();
});
Update: content of Router.php
public function auth()
{
// Authentication Routes...
$this->get('login', 'Auth\AuthController@showLoginForm');
$this->post('login', 'Auth\AuthController@login');
$this->get('logout', 'Auth\AuthController@logout');
// Registration Routes...
$this->get('register', 'Auth\AuthController@showRegistrationForm');
$this->post('register', 'Auth\AuthController@register');
// Password Reset Routes...
$this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
$this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
$this->post('password/reset', 'Auth\PasswordController@reset');
}
Please help! Thanks
回答1:
I cannot comment so I'm going to ask have you run php artisan make:auth and with laravel 5.2 you dont need your routes in your Routes.php. All you have to have in your href="{{ url('/login') }}"
回答2:
I got the same issue and I found out what was the issue. My code was look like this:
namespace App\Http\Controllers\Auth;
namespace App\Repositories;
And I changed to this:
namespace App\Repositories;
namespace App\Http\Controllers\Auth;
Issue solved for me.
回答3:
I got the same problem. Just use
Route::get('/login',[
'uses' => 'Auth\AuthController@login',
'as' => 'login'
]);
回答4:
In laravel 5.2 you can use php artisan make:auth , this creates a line
Route::auth() in your routes.php file. And creates all the necessary
routes.
Also your namespacing solution would probably work if you remove the Auth part from
'Auth\AuthController@showRegistrationForm'
and leave it like
'AuthController@showRegistrationForm'.
回答5:
in my case just remove:
'namespace' => 'App\Http\Controllers',
回答6:
I had similar problems using voyager package, but this command worked for me and everything is working now.
php artisan config:cache
来源:https://stackoverflow.com/questions/36149442/class-app-http-controllers-authcontroller-does-not-exist-laravel-5-2