Est-il possible de dire Laravel que j'ai déplacé le modèle User.php?
Laravel 5.1
FatalErrorException in EloquentUserProvider.php line 126:
Class '\App\User' not found
Je n'aimais vraiment pas avoir tous les modèles à la racine du dossier App dans laravel 5.1 alors j'ai créé un nouveau dossier et placé tous les fichiers php du modèle à l'intérieur: \App\Models
J'ai modifié le contrôleur d'authentification pour utiliser le nouveau use App\Models\User;
et corrigé tous les fichiers de modèle dans le dossier de modèle.
Cependant, lorsque je charge la page, j'obtiens l'erreur mentionnée ci-dessus.
(les autres fichiers de modèle fonctionnent bien bien car c'est mon code qui y accède, c'est juste le truc d'authentification préconstruit de laravel 5.1)
Par exemple, si vous créez un dossier (par exemple, application/modèles), il existe deux façons de déplacer vos modèles:
1) Style Laravel5 = Utiliser PSR4
Espace de noms tous vos fichiers de modèle avec l'espace de noms App\Models;
Accédez à vos modèles n'importe où avec leur espace de noms complet, par exemple: \App\Models\User::find(1);
2) Style Laravel4
Chargez votre modèle avec composer autoloader. Dans composer.json, ajoutez:
"autoload": {
"classmap": [
"database",
"app/Models"
],
...
Vous n'avez pas besoin d'espacer les noms de vos modèles. Ils sont dans leur espace de noms racine. Dans les fichiers d'espaces de noms, vous pouvez y accéder en tant que\User :: find (1);
Notes supplémentaires:
Si vous changez l'espace de noms du modèle utilisateur, vous devez mettre à jour config\auth.php
=> 'model'=> App\Models\User::class
Le moyen le plus simple de se débarrasser des longs espaces de noms est d'importer vos modèles au début de vos fichiers php, par exemple: use App\Models\User;
Liens:
Vous devez modifier votre Project/config/auth.php
fichier sur 'model'=> AppName\Models\User::class,