StartPHP-FrameworkYii2 Einzelseiten-CRUD Guide: Gii und AjaxCrud Tutorial

Yii2 Einzelseiten-CRUD Guide: Gii und AjaxCrud Tutorial

Gii ist ein webbasierter Code-Generator für das Yii2-Framework, der die Entwicklung beschleunigt. Dieser Artikel bietet eine aktuelle technische Anleitung zur Implementierung eines Einzelseiten-CRUD-Systems mithilfe der AjaxCrud-Erweiterung, einer idealen Lösung für Anwendungen mit hoher Interaktivität.

Gii für Yii2 ist ein unverzichtbares Entwicklungswerkzeug. Standardmäßig bietet Gii Generatoren für Modelle, Formulare, Controller und konventionelle CRUD-Operationen. Allerdings führt die Standardvorlage von Gii jede CRUD-Aktion auf einer separaten Seite aus. Für moderne Entwickler, die Benutzererfahrung priorisieren, ist die Implementierung von Einzelseiten-CRUD mit Ajax die Lösung.

Um diesem Bedarf gerecht zu werden, dient die Erweiterung yii2-ajaxcrud von Johnitvn als Antwort. Diese Erweiterung ermöglicht es, alle Operationen – Erstellen, Anzeigen, Bearbeiten, Löschen – in einem modalen Dialog auf einer einzigen Ansicht ohne Seitenneuladung auszuführen. Nachfolgend finden Sie die aktualisierten Implementierungsschritte.

Schritte zur Implementierung von Einzelseiten-CRUD in Yii2

Stellen Sie sicher, dass Ihre Yii2-Entwicklungsumgebung (advanced oder basic) aktiv ist. Folgen Sie dann sorgfältig diesen technischen Verfahren.

1. Installation der AjaxCrud-Erweiterung

Installieren Sie die Erweiterung über Composer. Führen Sie den folgenden Befehl in Ihrem Terminal innerhalb des Projektverzeichnisses aus:

composer require johnitvn/yii2-ajaxcrud "~2.0"

2. Handhabung der Icon-Assets (Font Awesome)

Die Erweiterung benötigt Font Awesome. Sie können das yii2-icons-Paket von Kartik verwenden. Fügen Sie die folgende Zeile zu Ihrer composer.json-Datei hinzu:

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

Führen Sie dann composer update aus. Eine Alternative besteht darin, Font Awesome über CDN in Ihrem Hauptprojekt-Layout einzubinden.

3. Überprüfung des Menüs in Gii

Rufen Sie Gii über Ihren Browser auf (z.B. http://localhost/projekt/web/index.php?r=gii). Wenn die Installation erfolgreich war, erscheint eine neue Option namens „Ajax CRUD Generator“.

Ajax CRUD Generator-Menü in der Gii Yii2-Oberfläche
Abbildung 1: Das Ajax CRUD Generator-Menü in der Gii-Oberfläche.

4. Erstellung eines Modells aus einer Tabelle

Erstellen Sie eine Modellklasse mit dem standardmäßigen Model Generator. Erstellen Sie beispielsweise ein Modell Country aus der Tabelle country in Ihrer Datenbank.

Erstellen eines Country-Modells mit Gii Yii2
Der Modellgenerierungsprozess in Gii Yii2.

5. Generierung des CRUD mit dem Ajax CRUD Generator

Wählen Sie das Menü „Ajax CRUD Generator“. Füllen Sie das Formular mit der Modellklasse (z.B. app\models\Country) und der Controller-Klasse (z.B. app\controllers\CountryController) aus. Führen Sie dann eine Vorschau aus und generieren Sie den Code.

Ajax CRUD Generator-Formular in Yii2
Konfiguration des Generators für Einzelseiten-CRUD.

6. Erster Test und Problemidentifikation

Rufen Sie den erstellten Controller auf (z.B. http://localhost/projekt/web/index.php?r=country). Es wird eine Datengrid angezeigt, aber die Aktionsschaltflächen funktionieren möglicherweise aufgrund der Icon-Assets nicht optimal.

7. Registrierung der Font Awesome-Assets

Bearbeiten Sie die generierte Index-View-Datei (normalerweise unter views/country/index.php). Fügen Sie den folgenden Code oben nach den use-Anweisungen hinzu:

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

8. Finale Überprüfung

Laden Sie die CRUD-Seite neu. Nun werden die Funktionen Erstellen, Aktualisieren, Anzeigen und Löschen in Ajax-Modaldialogen erscheinen. Dieser Prozess ist schnell und erfolgt ohne die Hauptseite zu verlassen, was eine flüssigere Benutzererfahrung bietet. Dies ist ein Schlüsselvorteil von Einzelseiten-CRUD.

Demo von Einzelseiten-CRUD-Operationen in Yii2 mit Ajax
Abbildung 2: Vollständige Demonstration von Einzelseiten-CRUD mit Ajax in Yii2.

Fazit und Entwicklungsempfehlungen

Die Kombination aus Gii Yii2 und der AjaxCrud-Erweiterung ergibt eine hocheffiziente Entwicklungslösung. Diese Implementierung von Einzelseiten-CRUD eignet sich für Admin-Dashboards und Anwendungen, die Echtzeitinteraktion erfordern. Konsultieren Sie stets die offizielle Dokumentation der Erweiterung für weitere Konfigurationen. Stellen Sie außerdem sicher, dass Sie umfassende Tests in einer Staging-Umgebung durchführen, bevor Sie in die Produktion gehen.

Durch die Befolgung dieser Anleitung können Entwickler reaktionsschnelle und moderne Datenmanagement-Oberflächen erstellen. Dieser Ansatz nutzt die Geschwindigkeit von Gii und die Agilität der Ajax-Technologie voll aus, um eine überlegene Benutzererfahrung zu bieten.

Neueste Artikel