Awn Ali
Awn Ali

Reputation: 1379

Class App\Http\Controllers\AuthController does not exist Laravel 5.2

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

Upvotes: 10

Views: 29203

Answers (6)

Limo
Limo

Reputation: 19

I had this issue while trying to implement multi-auth with two registration forms in Laravel 8.69. My controller AuthController existed. While extending class controller my code read class RegisterController extends Controller instead of class AuthController extends Controller

Upvotes: 0

saber tabatabaee yazdi
saber tabatabaee yazdi

Reputation: 4959

in my case just remove:

     'namespace' => 'App\Http\Controllers',

namespace => App\Http\Controllers

Upvotes: 2

orestiss
orestiss

Reputation: 2293

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'.

Upvotes: 0

Mahfuz Shishir
Mahfuz Shishir

Reputation: 841

I got the same problem. Just use

Route::get('/login',[
    'uses' => 'Auth\AuthController@login',
    'as'   => 'login'
]);

Upvotes: 0

Martian.titan
Martian.titan

Reputation: 466

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.

Upvotes: 0

Skel
Skel

Reputation: 1667

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') }}"

Upvotes: 2

Related Questions