laravel

Contrôleurs de ressources Laravel

Contrôleurs de ressources Laravel
Un contrôleur de ressources est utilisé dans Laravel pour effectuer facilement des opérations CRUD. Lorsque vous créerez un contrôleur de ressources à l'aide de la commande artisanale du terminal, il créera toutes les méthodes nécessaires à l'intérieur du contrôleur liées aux opérations CRUD. Il gère toutes les requêtes HTTP pour l'application et nécessite une seule ligne de code pour les routes CRUD. Comment vous pouvez créer un contrôleur de ressources et effectuer des opérations CRUD dans Laravel sont montrés dans ce tutoriel.

Prérequis:

Vous aurez besoin d'une table dans la base de données où le projet Laravel est connecté. Vous pouvez créer une table par la commande migrate ou manuellement. j'ai utilisé le utilisateurs table dans ce tutoriel pour faire l'opération CRUD à l'aide du contrôleur de ressources. La table est vide maintenant. La structure du tableau est présentée ci-dessous.

Créez un contrôleur de ressources :

Exécutez la commande suivante à partir du terminal pour créer le contrôleur de ressources nommé UserController.

$ php artisan make:controller UserController --resource

Si vous ouvrez le contrôleur à partir de n'importe quel éditeur, vous verrez que les codes suivants sont déjà écrits dans le contrôleur. Sept méthodes sont créées automatiquement à l'intérieur du contrôleur pour effectuer les opérations CRUD.

espace de noms App\Http\Controllers ;
utilisez Illuminate\Http\Request ;
la classe UserController étend le contrôleur

/**
* Afficher une liste de la ressource.
*
* @return \Illuminate\Http\Response
*/
index de fonction publique()

//

/**
* Afficher le formulaire de création d'une nouvelle ressource.
*
* @return \Illuminate\Http\Response
*/
fonction publique create()

//

/**
* Stocker une ressource nouvellement créée dans le stockage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
magasin de fonctions public (demande $ demande)

//

/**
* Afficher la ressource spécifiée.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique show($id)

//

/**
* Afficher le formulaire pour éditer la ressource spécifiée.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique edit($id)

//

/**
* Mettre à jour la ressource spécifiée dans le stockage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
mise à jour de la fonction publique (Request $request, $id)

//

/**
* Supprimer la ressource spécifiée du stockage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
fonction publique destroy($id)

//

Itinéraires de ressources :

Ajoutez l'itinéraire suivant pour le UserController pour créer des routes de ressources dans la toile.php déposer.

Route::resource('users', 'UserController');

Maintenant, exécutez la commande suivante à partir du terminal pour vérifier la liste de routes actuelle à partir du la toile.php déposer.

$ php artisan route:list

Les informations de route suivantes sont générées pour l'utilisation de la méthode Route::resource(). sept routes sont créées pour appeler sept méthodes. Les utilisations de ces routes sont expliquées plus loin dans la partie suivante de ce tutoriel.

Ajoutez les lignes suivantes au début du UserController.php fichier pour importer le modèle utilisateur, service de hachage pour hacher le mot de passe et service de base de données pour les opérations de base de données.

utilisez App\Utilisateur ;
utiliser le hachage ;
utiliser la base de données

Insérer un enregistrement :

Modifier le créer() méthode de UserController avec le code suivant. Ici, un objet de la Utilisateur le modèle est créé pour insérer les nouveaux enregistrements. Après avoir attribué les valeurs obligatoires, le sauvegarder() La fonction est appelée pour insérer le nouvel enregistrement dans le étudiants tableau.

fonction publique create()

$user = nouvel utilisateur ;
$utilisateur->nom = 'fahmida';
$user->email = '[email protected]';
$user->password = Hash::make('12345');
essayer
$user->save();
echo "L'enregistrement est inséré" ;

catch (\Illuminate\Database\QueryException $e)
echo "Entrée en double" ;

L'itinéraire pour appeler le créer() méthode de UserController est 'utilisateurs/créer'. Exécutez l'URL suivante à partir du navigateur. Si l'enregistrement est inséré correctement, la sortie suivante apparaîtra.

http://localhost/laravelpro/public/users/create

Maintenant, si vous vérifiez la table à partir de la base de données, vous obtiendrez la sortie suivante.

Afficher tous les enregistrements :

Modifier le indice() méthode de UserController avec le code suivant pour récupérer tous les enregistrements du utilisateurs tableau et afficher les valeurs de Nom et e-mail.

index de fonction publique()

$users = DB::select('select * from users');
foreach($users as $user)

echo "Nom : $utilisateur->nom" ;
écho "
E-mail : $utilisateur->e-mail" ;

L'itinéraire pour appeler le indice() méthode de UserController est 'utilisateurs'. Exécutez l'URL suivante à partir du navigateur.

http://localhost/laravelpro/public/users

La sortie suivante apparaîtra.

Sélectionnez un enregistrement spécifique :

Modifier le spectacle() méthode de UserController avec le code suivant pour récupérer un enregistrement du utilisateurs tableau qui contient 1 dans le identifiant champ et afficher la valeur du Nom.

fonction publique show($id)

$user = DB::select('select * from users where id='.$id);
echo "Le nom de l'utilisateur est ". $user[0]->nom."
";

L'itinéraire pour appeler le spectacle() méthode de UserController est 'utilisateurs/id'. Exécutez l'URL suivante à partir du navigateur.

http://localhost/laravelpro/public/users/1

La sortie suivante apparaîtra.

Mettre à jour l'enregistrement :

Deux méthodes sont principalement définies dans le contrôleur de ressources pour mettre à jour un enregistrement de base de données. Ceux-ci sont Éditer() et mettre à jour() où les données de l'enregistrement sont mises à jour à l'aide de n'importe quel formulaire édité. Mais aucun formulaire d'édition n'est utilisé ici. Ainsi, seul le Éditer() méthode est utilisée pour mettre à jour un enregistrement particulier de la étudiants tableau. La valeur actuelle d'un enregistrement particulier est imprimée avant et après l'exécution de la requête de mise à jour.

fonction publique edit($id)

$user = DB::select('select * from users where id='.$id);
echo "L'email actuel de l'utilisateur est ". $user[0]->e-mail."
";
$email = '[email protégé]';
$user = DB::select("Mettre à jour les utilisateurs définis email='$email'where id=".$id);
$user = DB::select('select * from users where id='.$id);
echo "L'email de l'utilisateur après mise à jour est ". $user[0]->e-mail ;

L'itinéraire pour appeler le Éditer() méthode de UserController est 'utilisateurs/id/modifier'. Exécutez l'URL suivante à partir du navigateur.

http://localhost/laravelpro/public/users/1/edit

La sortie suivante apparaîtra.

Supprimer l'enregistrement :

La méthode destroy () est définie pour supprimer tout enregistrement de la table. Mais la route pour supprimer l'enregistrement passe d'une autre méthode. Ici, j'ai utilisé le spectacle() méthode pour créer un lien hypertexte pour supprimer l'enregistrement qui est ajouté à la fin de la méthode.

fonction publique show($id)

$user = DB::select('select * from users where id='.$id);
echo "Le nom de l'utilisateur est ". $user[0]->nom."
";
écho "Effacer";

Ajoutez le code suivant dans le détruire() méthode pour supprimer un enregistrement particulier.

fonction publique destroy($id)

$user = DB::select('Supprimer des utilisateurs où id='.$id);
echo "L'enregistrement est supprimé" ;

Ajouter l'itinéraire dans la toile.php fichier pour appeler le détruire() méthode.

Route::get('/users/delete/id', '[email protected]');

Après avoir cliqué sur le lien de suppression, la sortie suivante apparaîtra.

Conclusion:

L'utilisation du contrôleur de ressource et le concept de la ressource route sont expliqués en détail dans ce tutoriel en utilisant une opération CRUD. J'espère que cela aidera les nouveaux utilisateurs de Laravel à implémenter facilement l'opération CRUD dans leur projet.

Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...
Contrôlez et gérez le mouvement de la souris entre plusieurs moniteurs dans Windows 10
Gestionnaire de souris à double affichage vous permet de contrôler et de configurer le mouvement de la souris entre plusieurs moniteurs, en ralentissa...