Verwendung von WordPress für die Entwicklung von Webanwendungen Eine Überprüfung

In den letzten Monaten haben wir uns alle Features und Aspekte angesehen, die WordPress zu einer potenziellen Grundlage für die Anwendungsentwicklung machen.

Tatsächlich haben wir in rund 15 Artikeln über alles, was WordPress bietet, gesprochen.

Auch wenn wir uns jeden Punkt in dieser E-Mail ansehen, unterscheidet sich das Erstellen von Webanwendungen mit WordPress möglicherweise am meisten von der Verwendung vieler gängiger Frameworks, die derzeit verfügbar sind, nämlich weil WordPress keine ist Rahmen.

Es ist eine Grundlage, auf der wir aufbauen können. kein Rahmen, mit dem wir bauen.

Das bedeutet, dass wir unser Modell des Denkens über den Aufbau verschiedener Komponenten unserer Anwendung ändern müssen, damit sie in dem Kontext und der Umgebung, in der sie ausgeführt werden, eine optimale Leistung erbringen.

1. Rahmenbedingungen und Stiftungen

Im ersten Beitrag der Serie schauen wir uns kurz an, was es bedeutet, ein Framework zu sein:

Bei der Computerprogrammierung ist ein Software-Framework eine Abstraktion, bei der Software, die generische Funktionalität bereitstellt, durch zusätzlichen vom Benutzer geschriebenen Code selektiv geändert werden kann, wodurch anwendungsspezifische Software bereitgestellt wird. Ein Software-Framework ist eine universelle, wiederverwendbare Softwareplattform, um Anwendungen, Produkte und Lösungen zu entwickeln. Zu den Software-Frameworks zählen Unterstützungsprogramme, Compiler, Codebibliotheken, Toolsets und APIs (Application Programming Interfaces), die alle verschiedenen Komponenten zusammenführen, um die Entwicklung eines Projekts oder einer Lösung zu ermöglichen.

Und was es bedeutet, eine Stiftung zu sein:

Kurz gesagt, Software kann auf Frameworks aufbauen, Software kann Fundamente erweitern.

Diese beiden Definitionen bilden die Bühne dafür, wie wir mit WordPress beginnen, wie es aufgebaut wird, welche Designmuster es implementiert und wie wir unser konzeptionelles Modell so anpassen müssen, dass wir die zugrunde liegende Codebasis entsprechend berücksichtigen Wir nutzen es so gut wir können für die Arbeit, die wir machen müssen.

2. Architektur neu denken

Wie bei den meisten Webanwendungen ist WordPress in ähnlicher Weise strukturiert:

  1. Die Datenbankschicht
  2. Die Anwendungsschicht
  3. Die Präsentationsschicht

Aber wenn es darum geht, Anwendungen über WordPress zu erstellen, ändern wir die Dinge ein wenig. Das heißt, obwohl WordPress die gleiche Struktur beibehält und wir unsere eigenen Lösungen mit unseren eigenen Strategien, Entwurfsmustern und was auch immer erstellen kann, werden wir uns ein wenig mit der WordPress-Anwendung beschäftigen, damit unsere eigene Geschäftslogik ausgelöst werden kann und um die Dinge in unserem anzuzeigen besitzen Präsentationsfolie.

Dafür ist es wichtig, das Designmuster zu verstehen, das WordPress antreibt. Und obwohl MVC und seine Varianten heutzutage allgegenwärtig sind, folgt WordPress einer anderen Konvention.

3. Das konzeptionelle Modell (Ereignisse, Aktionen und Filter)

In einem Folgeartikel über die Architektur von WordPress haben wir diskutiert, wie WordPress ereignisgesteuerte Programmierung verwendet.

Stattdessen arbeitet die ereignisgesteuerte Programmierung von der Prämisse ab, dass "etwas passiert ist". Daher der Name für Aktionen in der WordPress-Sprache (natürlich haben wir auch Filter, aber ich werde diese kurz behandeln).

Konkret sprachen wir darüber, wie uns dies zu der Idee führt, wie, beim Programmieren, etwas passiert und dann können wir diese wichtigen Punkte nutzen.

In WordPress werden diese Besonderheiten als Hooks bezeichnet und können auf zwei Arten definiert werden:

  1. Aktionen zeigen an, dass bestimmte Dinge wie das Laden bestimmter Daten oder die Vorbereitung bestimmter Funktionen verfügbar sind.
  2. Filter sind Punkte im Lebenszyklus der WordPress-Anwendung, die Daten abfangen, verwalten und zurückgeben, bevor sie im Browser oder in der Datenbank abgelegt werden.

Wir haben dann, wann immer, diese detaillierter besprochen. Durch die Verwendung von längeren Definitionen, Codebeispielen und einigen der gängigsten verfügbaren Hooks haben wir untersucht, wie sie jeweils sinnvoll genutzt werden können und wie sie uns bei der Arbeit mit unseren eigenen Webanwendungen helfen können.

5. Benutzerverwaltung, Sitzungen und E-Mail

Dann sprachen wir über einige Features, die das Herzstück der Webanwendungsentwicklung bilden:

  • die Erstellung und Verwaltung von Benutzerkonten
  • Sitzungen für persistente Daten
  • E-Mail-Dienste

Wir haben diese Elemente nacheinander behandelt, nicht nur, weil sie für viele moderne Webanwendungen von zentraler Bedeutung sind, sondern auch, weil sie häufig in Verbindung miteinander verwendet werden.

Wenn ein neuer Benutzer beispielsweise ein Konto registriert, erhält er eine E-Mail mit Informationen zur Aktivierung oder zum Anmelden. Sobald sich der Benutzer beim System anmeldet, wird er wahrscheinlich eine Sitzung einrichten, in der die Daten übertragen werden mit ihnen auf der Website, bis ihre Sitzung beendet ist.

Der Grund, warum dies für die Erstellung von Anwendungen in WordPress ein wenig problematisch ist, liegt darin, dass es nicht wirklich eine Session-API gibt. Stattdessen müssen wir auf die von PHP angebotenen Möglichkeiten zurückgreifen. Dies ist nicht schwierig, aber wenn Sie sich nie die Zeit genommen haben, ein natives PHP-Feature ordnungsgemäß in eine vorhandene Anwendung einzufügen, die es nicht bereits integriert hat, gibt es mehrere Punkte, die verstanden werden sollten.

Und schließlich ist E-Mail offensichtlich der Schlüssel zur Kommunikation mit Benutzern. Viele Entwickler, die mit WordPress arbeiten (unabhängig von ihrem Erfahrungsniveau), wissen jedoch nicht immer, dass sie die E-Mails, die nicht nur während des normalen Ablaufs von Ereignissen versendet werden, vollständig anpassen können, sondern auch, wenn bestimmte Ereignisse eintreten, die ein Ereignis rechtfertigen E-Mail im Kontext Ihrer Anwendung, die nicht standardmäßig zu WordPress gehört.

6. Speichern und Abrufen von Daten

Sobald der Benutzer an der Anwendung angemeldet ist, werden sie wahrscheinlich Daten speichern und abrufen. Wenn dies nicht der Fall ist, besteht die Möglichkeit, dass wir einige ihrer Informationen aufzeichnen, ohne zu wissen, wie sie 'sind. die Website zu nutzen oder Informationen wiederzugeben.

Glücklicherweise verfügt WordPress über eine API, die dies sehr einfach macht. Es geht jedoch auch darum, dass Daten sowohl beim Speichern als auch beim Abrufen von Informationen überprüft und bereinigt werden müssen.

Dies ist wichtig, da wir sicherstellen möchten, dass bösartige Informationen nicht in die Datenbank eingefügt werden. Wir möchten auch sicherstellen, dass wir Informationen auf sichere Weise abrufen, sodass sie für die Benutzer lesbar und benutzerfreundlich sind.

7. URL umschreiben

Als wir anfingen, die Serie abzuschließen, sprachen wir ein wenig über moderne URL-Umschreibungsschemas und wie WordPress eine Vielzahl von Möglichkeiten bietet, um dies ohne Umwege zu tun.

Wir haben jedoch einen tieferen Blick darauf gelegt und verglichen, was viele moderne Frameworks bei der Anpassung von Routen bieten. Insbesondere haben wir untersucht, wie RESTful-Routen in WordPress mithilfe der Rewrite-API implementiert werden können, um ein saubereres URL-Schema zu erhalten, warum dies für die Benutzer von Vorteil ist und wie es in WordPress verwaltet wird.

Darüber hinaus sprachen wir über einige Fallstricke bei der Vorgehensweise und darüber, wie Sie diese vermeiden können, wenn Sie benutzerdefinierte Regeln in unsere Anwendung integrieren.

8. Caching

Da Geschwindigkeit eine Funktion ist, haben wir uns ein wenig mit der WordPress Transient API beschäftigt, um zu lernen, wie man Informationen in unserer Anwendung zwischenspeichert.

Obwohl es viele Plugins und andere Softwarepakete gibt, die das Zwischenspeichern in unsere Websites und Anwendungen einführen können, können wir als Programmierer zusätzliche Maßnahmen ergreifen, um die nativen Funktionen von WordPress und die zugrunde liegende Datenbank optimal nutzen zu können Caching-Anwendungen.

Die Sache ist, auch wenn Sie sich nicht auf Anwendungen von Drittanbietern für das Zwischenspeichern verlassen, können Sie dennoch die Vorteile nutzen, wie WordPress Informationen in seiner Datenbank organisiert, sodass Sie durch die Nutzung dieser API die Leistung Ihrer Arbeit noch steigern können.

9. Abfragen der Datenbank

Schließlich beendeten wir unsere Erkundung und Diskussion der Features von WordPress als Grundlage für die Anwendungsentwicklung, indem wir die besten Möglichkeiten zur Abfrage von Daten besprachen.

Konkret besprachen wir:

  • WP_Query Diese Funktion wird verwendet, um erweiterte Abfragen zu Beitragstypen, Taxonomien, Metadaten usw. durchzuführen.
  • WP_User_Query die verwendet wird, um erweiterte Abfragen gegen die Tabelle des Benutzers zu schreiben.
  • $ wpdb zum Erstellen von benutzerdefinierten Datenbankabfragen.

Anschließend haben wir uns Anwendungsfälle für jede der verfügbaren APIs angesehen, wie sie in unserem Projekt eingesetzt werden können und unter welchen Bedingungen welche verwendet werden sollte.

Weil WordPress ist Bei einer datenbankgestützten Anwendung werden die Anwendungen, die wir darauf aufbauen, ebenso wie die Anwendungen, die wir verwenden, genau wissen, wie man mit den verfügbaren APIs interagiert, damit wir nicht nur korrekte Informationen abrufen, sondern auch performant , leicht lesbare, wartbare und skalierbare Möglichkeit.

Was machen wir jetzt?

Das ultimative Ziel dieser Artikelserie war es, einen umfassenden Einblick in das Angebot von WordPress bei der Entwicklung von Webanwendungen zu geben.

Als Entwickler müssen wir uns natürlich daran erinnern, dass es für das Unternehmen keine Lösungen gibt, die Lösungen für uns, unsere Kunden und unsere Kunden bereitstellen - es geht darum, das richtige Werkzeug für diese Aufgabe zu finden. In einigen Fällen ist dies WordPress, in anderen Fällen nicht. All das zu sagen, nur weil WordPress können verwendet werden bedeutet nicht, dass es verwendet werden sollte, und wir sollten nicht daran arbeiten, unser Problem in WordPress zu setzen, wenn es nicht das richtige ist.

Das heißt, wenn WordPress tut Bieten Sie die richtigen Funktionen, APIs und Strukturen, um das jeweilige Problem zu lösen. Halten Sie diese Artikelserie als Referenz bereit, damit Sie genau das bekommen, was Sie zum Erstellen solider Webanwendungen auf der Basis der vorhandenen WordPress-Stiftung benötigen.