✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Erstellen eines CRUD-Systems in WordPress – wpDataTables Tables Plugin

34

Dieser Artikel über die Erstellung eines CRUD-Systems in WordPress wurde bereits 2014 veröffentlicht. Wir haben jedoch festgestellt, dass dieses Thema noch aktueller wurde, und haben uns daher entschieden, ihm einen frischen Look zu geben.

Was ist ein CRUD-System, wie integriere ich ein CRUD-System für MySQL in deine WordPress-Seite, was sind die Vor- und Nachteile verschiedener Ansätze?

Was ist ein CRUD-System?

Die Abkürzung CRUD kommt von C reate, Read, U pdate, D elete. Was mit anderen Worten ein Datenmanagementsystem bedeutet. Im Web würde es höchstwahrscheinlich eine Software bedeuten, die Einträge in Ihrer Datenbank verwaltet. Normalerweise bezieht es sich auf MySQL, PostgreSQL, MS SQL oder andere DB-Engines.

Ein großartiges und vielleicht das beliebteste Beispiel für ein CRUD-System ist phpMyAdmin. PHPMyAdmin ist ein Tool, das von fast jedem Webentwickler verwendet wird, um MySQL-Daten online zu verwalten. Es wurde so weit verbreitet, dass es derzeit als Standardwerkzeug zur Verwaltung von MySQL-Datenbanken bezeichnet werden kann. Heutzutage ist es fast auf jedem CPanel-Tool bei Hosting-Providern vorinstalliert.

Es gibt Tausende von Standardanwendungsfällen für CRUD-Systeme. Zum Beispiel – fast jeder Katalog, Eingangsprotokoll, statistische Informationen. Grundsätzlich würde alles, was mit dem Speichern von Informationen zu tun hat, das Hinzufügen, Modifizieren und Entfernen von Informationsbits erfordern. Hier kommen CRUD-Systeme ins Spiel.

Warum brauchen Sie ein CRUD-System in WordPress?

WordPress selbst ist ein leistungsstarkes CMS (Content Management System), das auch ein Sonderfall des CRUD-Systems ist. Wie Sie wissen, können Benutzer der WordPress-Site Beiträge und Seiten hinzufügen, bearbeiten oder löschen. Aber manchmal stoßen Sie auf eine Situation, in der Sie einige Datenbankdaten direkt vom WordPress-Frontend aus verwalten müssen, die im Allgemeinen nicht gepostet oder seitenbezogen sind und nicht gut in die WordPress-Taxonomien passen. Unter anderem kann es eine dieser Situationen sein, in denen Sie ein unabhängiges CRUD-System in WordPress benötigen würden:

  • Sie möchten einen Bug-Tracker, ein Eintragsprotokoll oder ein anderes Dateneingabe-Tool auf Ihrer WordPress-Site haben;
  • Oder Sie möchten beispielsweise einigen Benutzern erlauben, einige geschäftsbezogene Daten vom Front-End Ihrer Website aus zu bearbeiten, ohne ihnen Zugriff auf das Admin-Panel der WordPress-Website zu gewähren, oder vielleicht sogar ohne die Tatsache offenzulegen, dass die Website auf WordPress läuft;
  • Ein weiteres Beispiel ist eine Anforderung, einigen Benutzern das Bearbeiten einer DB-Tabelle zu erlauben. Ändern Sie beispielsweise eine aufgegebene Bestellung, bearbeiten Sie einige persönliche Daten usw.

Und ähnliche Anfragen.

Wie integriere ich ein CRUD-System in eine WordPress-Seite?

Die einfachste Lösung – versuchen Sie, ein geeignetes Plugin zu finden

Stellen Sie zunächst sicher, dass Sie wirklich eine benötigen. Viele der Aufgaben sind nicht einzigartig und Sie können wahrscheinlich ein Plugin finden, das Ihren Anforderungen entspricht. Wenn Sie zB, wie oben erwähnt, einen Bugtracker benötigen, können Sie diesen oder diesen überprüfen und herunterladen .

Und wenn Sie etwas Allgemeineres benötigen, wie das Bearbeiten verschiedener MySQL-Tabellen vom WordPress-Frontend aus, probieren Sie unser wpDataTables – Plugin aus, das im Grunde ein CRUD-System in WordPress ist. Sie können die Liste der Funktionen und Beispiele dafür, wie es funktioniert , hier sehen. Oder probieren Sie sogar eine kostenlose Lite-Version im WordPress-Plugin-Repository aus .

Es ist erwähnenswert, dass wpDataTables keine Einschränkungen hinsichtlich der Datenstruktur, der Anzahl der Spalten oder Zeilen auferlegt, viele Datentypen und verschiedene Editor-Eingabetypen unterstützt. Zum Beispiel einige spezifische Typen wie Anhänge oder DateTime. Außerdem ermöglicht es die Bearbeitung von Daten über einen Popup-Formular-Editor, mit einem Inline-Editor oder sogar mit einem Tabellenkalkulations-Excel-ähnlichen Editor.

Wenn Sie immer noch das Gefühl haben, dass Sie ein benutzerdefiniertes CRUD-System in WordPress erstellen müssen, sollten Sie sich auf eine ernsthafte Codierung vorbereiten, um dies zu erledigen.

Starten Sie ein neues WordPress-Plugin

Wenn Sie der Meinung sind, dass kein Plugin Ihren Anforderungen entspricht, erstellen Sie Ihr eigenes! Es ist vielleicht nicht so beängstigend, wie es auf den ersten Blick scheint. Lesen Sie zunächst dieses nette Tutorial zum Erstellen eines WordPress-Plugins von Grund auf neu. Und natürlich auch dieser im WordPress Codex.

Der erste erste Schritt beim Erstellen eines Plugins – einschließlich eines CRUD-Systems in einem WordPress-Plugin – besteht darin, die Dateien richtig zu strukturieren.
Der übliche Ansatz besteht darin, die CRUD-Punktdatei des Haupteintrags im Stammverzeichnis des Plugins zu platzieren und mehrere Unterordner vorzubereiten:

  • Assets – alle Javascripts, Stylesheets, Schriftarten, Bilder und andere statische Assets, die für Ihr CRUD-System erforderlich sind;
  • Quelle – Ordner für die „Kern”-PHP-Klassen, die die gesamte CRUD-Funktionalität im Backend ausführen;
  • Lib – Ordner für alle Komponenten von Drittanbietern, die Sie möglicherweise in Ihrem CRUD-System verwenden möchten;
  • Vorlagen – Ordner für HTML-Vorlagen, die als Benutzeroberfläche für Ihr CRUD-System dienen.

Es kann mehr geben (Controller, Shortcode-Handler und andere) – aber das ist ein Minimum, um damit zu beginnen.

Editor-Backend erstellen (PHP-Klassen)

Zunächst benötigen Sie den Back-End-Teil: ein PHP-Skript, das die CRUD-Jobs tatsächlich erledigt. Dazu müssen Sie es mit WordPress DB (globales $wpdb-Objekt) verbinden. Sie können hier ein nettes Tutorial über die Verwendung der WordPress-Datenbank und des $wpdb-Objekts in Ihren Plugins lesen.

Wenn Sie eine externe DB verwenden, müssten Sie zB eine separate PDO-Verbindung oder einfach eingebaute PHP- MySQLi – Funktionen verwenden (wenn Ihre DB-Engine MySQL ist).

Ihre Aufgabe in diesem Schritt besteht darin, eine Reihe von Klassen und Methoden vorzubereiten, die Daten vom Front-End in der erwarteten Form akzeptieren, validieren und bereinigen (das Bereinigen aller Eingaben ist eine sehr wichtige Sicherheitsmaßnahme für alle CRUD-Systeme) und ausführen die Aktionen INSERT, UPDATE und DELETE in Ihrer Datenbank.

Wie im vorherigen Schritt beschrieben, würden diese „Core”-Dateien zum „Source”-Ordner Ihres neuen CRUD-WordPress-Plugins gehören.

Erstellen Sie eine Front-End-Schnittstelle (HTML, JS, PHP)

Wenn die Datenbankverwaltungsklassen und -methoden vorbereitet sind, benötigt Ihr Plugin eine Front-End-Schnittstelle für den Benutzer mit Ihrem neuen CRUD-System in WordPress. Die beste Lösung wäre, eine Reihe von Vorlagen in Ihren neuen Plugin-Dateien vorzubereiten und sie überall mit einem Shortcode auszugeben.

Es ist sinnvoll, die HTML-Templates immer vom Code getrennt zu halten (MVC-Ansatz) und logisch getrennte Template-Dateien vorzubereiten, zB: „edit.tpl.php”, „delete.tpl.php”, „list.tpl.php”. “, etc. – eine Vorlage für jede CRUD-Seite oder Aktion.

Hier können Sie einen großartigen Codex-Artikel über die WordPress Shortcode API lesen.

Verbinden Sie Front-End mit Back-End mit AJAX-Aufrufen (JS)

Natürlich können Sie dies auch „im Stil der alten Schule” tun, indem Sie einfach Formulare absenden und die Seite neu laden. Heutzutage ist dies jedoch kein gängiger Ansatz mehr. Die Verwendung von AJAX ist stattdessen ein Standardansatz, entweder über jQuery oder andere Bibliotheken wie Angular. Unsere Empfehlung ist also, sich etwas Zeit zu nehmen und sich mit der Verwendung von AJAX in Ihren WordPress-Plugins zu befassen. Hier ist ein großartiger Codex-Artikel zur Verwendung von AJAX in Ihren Plugins – sowohl auf der Administrator- als auch auf der Frontend-Seite.

Sie können den JS-Code in den Ordner „Assets” einfügen, den Sie im ersten Schritt vorbereitet haben.

Testen, verfeinern und debuggen

Wenn der Implementierungsteil abgeschlossen ist – nehmen Sie sich etwas Zeit und testen Sie Ihr neues CRUD-System in WordPress. Sie können nicht alle Fehler von Anfang an erkennen, aber das mehrfache Wiederholen von CRUD-Routineaktionen mit verschiedenen Beispielen (bevorzugte Grenzfälle – z. B. sehr große Datenmengen, mehrfaches Klicken auf dieselbe Schaltfläche usw.) wird Ihnen immer helfen um die meisten Fehler abzufangen – und diese treten immer auf, wenn Sie etwas Neues implementieren.

CRUD vs. REST: Was ist der Unterschied?

REST ist ein Architekturstil zum Erstellen von Netzwerkanwendungen auf der Grundlage eines zustandslosen, zwischenspeicherbaren Client-Server-Kommunikationsprotokolls, dh des HTTP-Protokolls. CRUD ist ein Akronym für CREATE, READ, UPDATE und DELETE, die Grundfunktionen der persistenten Speicherung in der Programmierung.

CRUD-Operationen, dh CREATE, READ, UPDATE, DELETE, ähneln den grundlegenden REST-Befehlen, dh GET, PUT, POST, DELETE, was zu einer Verwechslung zwischen den beiden führt. Was ist CRUD? Was ist REST? Was ist die CRUD-Definition in CRUD vs. REST? Ist REST nur eine Kopie von CRUD?

Dies sind alles sehr relevante Fragen, die dieser Artikel ausführlich beantworten soll!

Wie funktioniert REST?

Sie können Begriffe wie REST-API, REST-Dienste, CRUD-Matrix oder CRUD-Datenbank oder REST-Programmierung nicht verstehen, wenn Sie den Unterschied zwischen den beiden Prozessen in Bezug auf ihre Funktionsweise nicht verstehen. Die Verwirrung wird verschwinden, sobald Sie diesen Unterschied kennen.

Sie können mit REST an jeder Ressource arbeiten, sei es eine Mediendatei, ein Dokument, eine Website usw. Es gibt keine Einschränkungen hinsichtlich dessen, woran Sie mit REST arbeiten können. Sie können nur HTML als Kommunikationsprotokoll verwenden, um auf die Ressourcen hinzuweisen. REST steht für Representational State Transfer.

REST gibt an, dass dort jede eindeutige URL ein Objekt darstellt, auf das Sie über ein HTTP GET zugreifen können, sowie es über HTTP POST, PUT oder DELETE ändern und löschen können.

Wie funktioniert CRUD?

Sie können CRUD nur auf Datenbankdatensätze anwenden, und Sie können keine CRUD-APIs wie REST-APIs erstellen. Die Anwendung von CRUD ist auf Datenbanken beschränkt, weshalb CRUD im Gegensatz zu REST kein Architekturstil, sondern ein Zyklus ist. Apps und Websites enthalten alle unterschiedliche CRUD-Zyklen.

Beispielsweise kann ein Besucher einer E-Commerce-Website ein Konto ERSTELLEN, das Konto AKTUALISIEREN, die Informationen LESEN und das Konto LÖSCHEN. Das ist ein vollständiger CRUD-Zyklus, der jeden CRUD-Vorgang umfasst.

Beispielsweise kann ein Besucher auf derselben E-Commerce-Website einen Artikel im E-Warenkorb ERSTELLEN und dann den vollständigen CRUD-Zyklus durch LESEN, AKTUALISIEREN und sogar LÖSCHEN des Artikels abschließen.

Die Grundlage und Prinzipien von REST

Die grundlegenden Befehle von Representational State Transfer – das Akronym REST – drehen sich um ein Objekt oder eine Ressource, die als alles beschrieben werden kann, was Sie mit dem HTTP-Protokoll offenlegen können. Beispiele für REST-Ressourcen: Bild, Website, Dokument, Dienst. Der Himmel ist die Grenze.

REST ist eine Anwendungsprogrammierschnittstelle oder API oder eine Architektur, die für verteilte Multimedia vorgesehen ist. Eine API ist ein Webdienst, der den Prinzipien der REST-Architektur folgt. Daher ruft REST jede API über eine der HTTP-Anforderungsmethoden GET, PUT, POST und DELETE auf.

Die sechs Leitprinzipien der RESTful-Architektur

  1. Client-Server-Mandat

Das Client-Server-Mandat betont die Tatsache, dass REST eine verteilte Methode darstellt, die auf der Natur der Client-Server-Trennung beruht. Ein REST-Dienst umfasst mehrere Funktionen und kümmert sich um Anfragen. Der Client stellt die Anforderungen und der Server akzeptiert oder lehnt sie ab.

  1. Staatenlosigkeit

Erstellen eines CRUD-Systems in WordPress - wpDataTables Tables Plugin

Zustandslosigkeit schränkt die Art der Anfragen ein, die zwischen Verbraucher und Server übermittelt werden können. Tatsächlich ist es die Anfrage, die die Client-Service-Kommunikation initiiert, wobei die Anfrage alle Informationen enthält, die der Server für die Antwort benötigt.

  1. Caching

Der Zweck des Zwischenspeicherns einer Anforderung besteht darin, dass dieselbe Anforderung nie zweimal gesendet werden muss, da das Zwischenspeichern den Server anweist, Antworten als zwischenspeicherbar zu kennzeichnen oder nicht. Infolgedessen reduziert das Caching die Einschränkungen oder Beschränkungen, die durch Zustandslosigkeit erzeugt werden.

  1. Einheitlicher Vertrag

Uniform Contract schließt die Verwendung mehrerer unabhängiger Schnittstellen innerhalb einer Anwendungsprogrammierschnittstelle oder API aus. REST hält sich an die Prinzipien eines einheitlichen Vertrags. Daher wird eine REST-Schnittstelle über Hypermedia-Verbindungen gemeinsam genutzt.

  1. Schichtensystem

Ein Schichtsystem verwendet mehrere unabhängige Schichten, um die Schnittstelle zu entwickeln und zu erweitern. Da Schichten nicht ineinander sehen können, können neue Anfragen und Middleware eingefügt werden, die keinen Einfluss auf die anfänglichen Befehle und die Client-Server-Funktion haben.

  1. Optional: Code-On-Demand

Während Client-Server, Caching, Statelessness, Uniform Contract und Layered System Must-Haves für RESTful-Apps sind, ist Code-On-Demand nicht obligatorisch. Code-on-Demand ermöglicht jedoch, dass die Logik innerhalb der Clients unabhängig bleibt und somit separat von der Serverlogik aktualisiert wird.

Abschließende Gedanken zu CRUD vs. REST

CRUD umfasst die wesentlichen Operationen, die in statischen Datenspeichern oder Datenbanken durchgeführt werden, wie z. B. die Handhabung passiver Datensätze oder Objekte. CRUD manipuliert im Wesentlichen grundlegende Daten.

REST ist darauf angewiesen, Ressourcen über eindeutige URLs darzustellen, wobei Ressourcen Objektabstraktionen sind, wobei beispielsweise der Kommentar eines Benutzers eine Ressource sein kann.

Als solches beinhaltet REST mehr als einen Datensatz in einer Kommentartabelle. Bei REST geht es um die Beziehung des Datensatzes zur Benutzerressource und dem Beitrag/Kommentar, an den er angehängt ist. REST ist ein API-Stil auf sehr hoher Ebene, der mit einem komplexen System interagiert.


Natürlich war dieser Artikel kein vollständiges Tutorial – da es zwanzig Seiten dauern würde, um eines zu schreiben. Aber lassen Sie uns wissen, wenn Sie Fragen haben oder ein bestimmtes Schritt-für-Schritt-Beispiel sehen möchten, und wir werden eines für Sie erstellen.

Wir hoffen, es war in irgendeiner Weise hilfreich.

Vielen Dank fürs Lesen!

Bildquelle: http://www.tyseo.net

Aufnahmequelle: wpdatatables.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen