Kedaz
Kedaz

Reputation: 13

Laravel 5.6 Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Class '\App\Utilisateurs' not found

First i want to apologize for my bad english, that isn't my natural language.

So, i encounter a class not found error after renaming one of my Model. I searched a tons of time on Stackoverflow but all suggested tips aren't working. So I come to you to have your help and see if we can found the problem.

After rename my Model Utilisateurs to Utilisateur, i have changed every call of it, checked the autoload_classmap.php, did a composer dump-autoload as suggested on another thread i found on stackoverflow, but still the same problem, i've got an:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class '\App\Utilisateurs' not found

I don't know why laravel wants to load the Utilisateurs class and not my renamed Utilisateur class. I checked migration file but it seems nothing strange in it ( i'm probally wrong ).

I'm new to Laravel and i need some help / tips to correct my mistake, if someone have any idea, you are welcome. Thanks in advance, my modified code are below, if you need something else feel free to ask.

Thanks

Utilisateur.php after rename:

    namespace App;

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Contracts\Auth\Authenticatable;
    use \Illuminate\Auth\Authenticatable as BasicAuthenticatable;
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Database\Eloquent\SoftDeletes;
    use ChristianKuri\LaravelFavorite\Traits\Favoriteability;

    class Utilisateur extends Model implements Authenticatable {

        use BasicAuthenticatable;
        use Notifiable;
        use SoftDeletes;
        use Favoriteability;

        protected $dates = ['deleted_at'];

        protected $fillable = [
            'first_name', 
            'last_name',
            'email', 
            'password',
            'structure',
            'confirmation_token', 
            'email_sent',
        ];

        public function structures(){
            return $this->belongsToMany(Structure::class);
        }

        public function getRememberTokenName(){
            return '';
        }

    }

Migration file: 2018_04_22_010424_create_utilisateurs_table.php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUtilisateursTable extends Migration
{

    public function up()
    {
        Schema::create('utilisateurs', function (Blueprint $table) {
            $table->increments('id');
            $table->string('first_name');
            $table->string('last_name');
            $table->string('email')->unique();
            $table->string('password');
            $table->string('structure')->nullable();
            $table->string('confirmation_token')->nullable();
            $table->boolean('email_sent')->nullable();
            $table->timestamps();
            $table->softDeletes();
        });
    }


    public function down()
    {
        Schema::dropIfExists('utilisateurs');
    }
}

Partial view from autoload_classmap.php

'App\\Structure' => $baseDir . '/app/Structure.php',
'App\\Traits\\PermTrait' => $baseDir . '/app/Traits/PermTrait.php',
'App\\User' => $baseDir . '/app/User.php',
'App\\Utilisateur' => $baseDir . '/app/Utilisateur.php',
'Carbon\\Carbon' => $vendorDir . '/nesbot/carbon/src/Carbon/Carbon.php',

Log error Laravel

[2018-05-24 11:43:03] local.ERROR: Class '\App\Utilisateurs' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class '\\App\\Utilisateurs' not found at E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php:147)
[stacktrace]
#0 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php(113): Illuminate\\Auth\\EloquentUserProvider->createModel()
#1 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\SessionGuard.php(352): Illuminate\\Auth\\EloquentUserProvider->retrieveByCredentials(Array)
#2 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\AuthManager.php(292): Illuminate\\Auth\\SessionGuard->attempt(Array)
#3 E:\\Serveur\\www\\test\\app\\Http\\Controllers\\AccountController.php(30): Illuminate\\Auth\\AuthManager->__call('attempt', Array)
#4 [internal function]: App\\Http\\Controllers\\AccountController->signIn()
#5 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array)
#6 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('signIn', Array)
#7 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccountController), 'signIn')
#8 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(169): Illuminate\\Routing\\Route->runController()
#9 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(659): Illuminate\\Routing\\Route->run()
#10 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#12 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(67): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#18 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#21 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(59): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#27 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#30 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(661): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(636): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(602): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(591): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 E:\\Serveur\\www\\test\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#37 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#40 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#43 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#46 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(51): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#49 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#52 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#53 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#54 E:\\Serveur\\www\\test\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#55 {main}
"} 

Upvotes: 1

Views: 17437

Answers (2)

mohammadreza gohari
mohammadreza gohari

Reputation: 159

It's a bug for this framework , but you can handle when your current provider has value run your code.

go to namespace:

Illuminate\Foundation\ProviderRepository

or go to physical path

project\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php

and change compileManifest function to :

protected function compileManifest($providers)
    {
        // The service manifest should contain a list of all of the providers for
        // the application so we can compare it on each request to the service
        // and determine if the manifest should be recompiled or is current.
        $manifest = $this->freshManifest($providers);

            foreach ($providers as $provider) {
                if (@$provider){
                    $instance = $this->createProvider($provider);

                    // When recompiling the service manifest, we will spin through each of the
                    // providers and check if it's a deferred provider or not. If so we'll
                    // add it's provided services to the manifest and note the provider.
                    if ($instance->isDeferred()) {
                        foreach ($instance->provides() as $service) {
                            $manifest['deferred'][$service] = $provider;
                        }

                        $manifest['when'][$provider] = $instance->when();
                    }

                    // If the service providers are not deferred, we will simply add it to an
                    // array of eagerly loaded providers that will get registered on every
                    // request to this application instead of "lazy" loading every time.
                    else {
                        $manifest['eager'][] = $provider;
                    }
                }

            }
            return $this->writeManifest($manifest);
    }

source error compile from this function

 public function createProvider($provider)
    {
        if (@$provider){
            return new $provider($this->app);
        }
    }

Upvotes: 0

Quezler
Quezler

Reputation: 2435

can you check line 70 of config/auth.php?

How i guessed it:

When you read this part of the exception, you'll see that laravel is attempting to retrieve the current user and put it in a model, and i figured that it meant that a wrong user model was declared in the config file related to authentication.

#0 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php(113): Illuminate\\Auth\\EloquentUserProvider->createModel()
#1 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\SessionGuard.php(352): Illuminate\\Auth\\EloquentUserProvider->retrieveByCredentials(Array)
#2 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\AuthManager.php(292): Illuminate\\Auth\\SessionGuard->attempt(Array)
#3 E:\\Serveur\\www\\test\\app\\Http\\Controllers\\AccountController.php(30): Illuminate\\Auth\\AuthManager->__call('attempt', Array)

Upvotes: 1

Related Questions