AccueilFramework PHPGuide CRUD Une Page Yii2 : Tutoriel Gii et AjaxCrud

Guide CRUD Une Page Yii2 : Tutoriel Gii et AjaxCrud

Gii est un générateur de code basé sur le web pour le framework Yii2 qui accélère le développement. Cet article fournit un guide technique actualisé pour implémenter un système CRUD sur une seule page en utilisant l’extension AjaxCrud, une solution idéale pour les applications nécessitant une haute interactivité.

Gii pour Yii2 est un outil de développement essentiel. Par défaut, Gii fournit des générateurs pour les modèles, les formulaires, les contrôleurs et les opérations CRUD conventionnelles. Cependant, le modèle par défaut de Gii exécute chaque action CRUD sur une page séparée. Pour les développeurs modernes qui privilégient l’expérience utilisateur, l’implémentation du CRUD sur une seule page avec Ajax est la solution.

Pour répondre à ce besoin, l’extension yii2-ajaxcrud de Johnitvn sert de réponse. Cette extension permet à toutes les opérations—créer, lire, mettre à jour, supprimer—de s’exécuter dans une boîte de dialogue modale sur une seule vue sans rechargement de page. Voici les étapes d’implémentation mises à jour.

Étapes pour Implémenter le CRUD sur Une Seule Page dans Yii2

Assurez-vous que votre environnement de développement Yii2 (avancé ou basique) est actif. Ensuite, suivez attentivement ces procédures techniques.

1. Installer l’Extension AjaxCrud

Installez l’extension via Composer. Exécutez la commande suivante dans votre terminal, dans le répertoire du projet :

composer require johnitvn/yii2-ajaxcrud "~2.0"

2. Gérer les Ressources d’Icônes (Font Awesome)

L’extension nécessite Font Awesome. Vous pouvez utiliser le package yii2-icons de Kartik. Ajoutez la ligne suivante à votre fichier composer.json :

"kartik-v/yii2-icons": "*"

Ensuite, exécutez composer update. Une alternative est d’inclure Font Awesome via CDN dans la mise en page principale de votre projet.

3. Vérifier le Menu dans Gii

Accédez à Gii via votre navigateur (ex. : http://localhost/projet/web/index.php?r=gii). Si l’installation est réussie, une nouvelle option nommée « Ajax CRUD Generator » apparaîtra.

Menu Ajax CRUD Generator dans l'interface de Gii Yii2
Figure 1 : Le menu Ajax CRUD Generator dans l’interface de Gii.

4. Créer un Modèle à partir d’une Table

Créez une classe modèle en utilisant le Model Generator standard. Par exemple, créez un modèle Country à partir de la table country dans votre base de données.

Création d'un modèle Country en utilisant Gii Yii2
Le processus de génération de modèle dans Gii Yii2.

5. Générer le CRUD avec l’Ajax CRUD Generator

Sélectionnez le menu « Ajax CRUD Generator ». Remplissez le formulaire avec la Classe Modèle (ex. : app\models\Country) et la Classe Contrôleur (ex. : app\controllers\CountryController). Ensuite, prévisualisez et générez.

Formulaire de l'Ajax CRUD Generator dans Yii2
Configuration du générateur pour le CRUD sur une seule page.

6. Test Initial et Identification des Problèmes

Accédez au contrôleur créé (ex. : http://localhost/projet/web/index.php?r=country). Une grille de données apparaîtra, mais les boutons d’action peuvent ne pas fonctionner de manière optimale en raison des ressources d’icônes.

7. Enregistrer les Ressources de Font Awesome

Modifiez le fichier de vue index généré (généralement dans views/country/index.php). Ajoutez le code suivant en haut après les déclarations use :

use kartik\icons\FontAwesomeAsset;
FontAwesomeAsset::register($this);

8. Vérification Finale

Rechargez la page CRUD. Désormais, les fonctionnalités de Création, Mise à jour, Visualisation et Suppression apparaîtront dans des boîtes de dialogue modales Ajax. Ce processus est rapide et s’effectue sans quitter la page principale, offrant une expérience utilisateur plus fluide. C’est un avantage clé du CRUD sur une seule page.

Démonstration des opérations CRUD sur une seule page dans Yii2 avec Ajax
Figure 2 : Démonstration complète du CRUD sur une seule page en utilisant Ajax dans Yii2.

Conclusion et Recommandations de Développement

La combinaison de Gii Yii2 et de l’extension AjaxCrud produit une solution de développement trés efficace. Cette implémentation du CRUD sur une seule page est adaptée aux tableaux de bord d’administration et aux applications nécessitant une interaction en temps réel. Consultez toujours la documentation officielle de l’extension pour des configurations supplémentaires. De plus, assurez-vous d’effectuer des tests approfondis dans un environnement de staging avant le déploiement en production.

En suivant ce guide, les développeurs peuvent créer des interfaces de gestion de données réactives et modernes. Cette approche exploite pleinement la vitesse de Gii et l’agilité de la technologie Ajax pour une expérience utilisateur supérieure.

Articles Récents