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

API-Funktionalität strukturieren

29

Ich habe nicht viel Erfahrung, wenn es darum geht, APIs zu erstellen. Ich habe viel Arbeit geleistet, wenn es darum geht, WordPress mit APIs von Drittanbietern zu integrieren, aber ich habe sehr wenig Zeit damit verbracht, ein System zu erstellen, das über eine API verfügt, mit der andere Systeme interagieren können.

Was letzteres angeht, bin ich gerade mittendrin (und ich lerne viel dazu). Das Wesentliche des Projekts ist, dass es eine iOS-App gibt, die über die REST-API bidirektional mit WordPress interagiert.

API-Funktionalität strukturieren

Ich freue mich darauf, mehr darüber zu teilen, aber ich muss dies tun, wenn das Projekt weiter fortgeschritten ist.

Aber wenn es darum geht, mit APIs von Drittanbietern zu arbeiten und dann Komponenten eines WordPress-Projekts zu erstellen, die mit ihnen interagieren, finde ich zwei Dinge immer wieder nützlich:

Und die letzten beiden Punkte oben sind das, was ich in diesem Beitrag behandeln möchte.

API-Funktionalität strukturieren

In diesem Beitrag ist kein Code enthalten, aber vielleicht ist er ein Leitfaden dafür, wie Sie in Ihrer Arbeit mit der Strukturierung von API-Funktionen oder mit etwas Ähnlichem in Ihrer eigenen Arbeit vorankommen können.

Bibliotheken von Drittanbietern

Ich erwähne dies nur, weil ich es für wertvoll halte, erprobte und bewährte Lösungen, die in verschiedenen Projekten getestet (und damit verwendet) wurden, wiederzuverwenden.

API-Funktionalität strukturieren

Guzzle ist meine bevorzugte Bibliothek. Ja, WordPress verfügt über integrierte Funktionen zur Kommunikation mit anderen URLs, aber mit Guzzle können Sie mehr tun (insbesondere in Bezug auf Komponenten der Anfrage) als mit WordPress.

Zugegeben, das ist meine Meinung, aber ich arbeite gerne damit. Und die Dokumentation ist solide.

Schematische Darstellung des Systems

Wenn Sie lange genug mit der Integration in APIs von Drittanbietern arbeiten, müssen Sie sich an den Prozess der Einrichtung der Funktionsweise des Systems gewöhnen. Normalerweise geht es ungefähr so:

  1. einen API-Client erstellen, um sich mit der API zu verbinden,
  2. Richten Sie die Funktionen ein, die erforderlich sind, um die Anforderungen zu stellen, die Sie benötigen,
  3. Analysieren Sie die Antwort,
  4. Zurückgeben an das ursprüngliche Objekt oder die Funktion, die die Anforderung aufgerufen hat.

Das ist ein bisschen zu stark vereinfacht (schließlich kann das Erstellen des API-Clients eine Aufgabe für sich sein), aber die Punkte bleiben alle gleich (und machen vielleicht keine schlechte Serie 🤔).

Wie auch immer, vor allem schadet es nie, das System zu skizzieren. Das ist etwas, was ich immer noch tue, weil es mir in gewisser Weise hilft, zu artikulieren, was ich baue, und zu sehen, ob es Lücken im Kontrollfluss durch die Anwendung gibt.

Hier ist der Grund, warum dies wichtig ist: Zu artikulieren, was Sie tun werden, hilft Ihnen zu verstehen, was Sie tun, und deckt oft Lücken in Ihrem Denken auf, die Sie für selbstverständlich halten.

Wenn es darum geht, ein System zu entwerfen, gehen Sie also nicht davon aus, dass Sie alles herausgefunden haben.

Trennung der Funktionalität

Wenn Sie diesen Blog längere Zeit gelesen haben, dann wissen Sie, dass ich ein Fan davon bin, den ganzen Entwicklungsideen zur „Trennung von Bedenken“ zu folgen.

Dies gilt aus mehreren Gründen, von denen die wenigsten nicht sind:

  • in der Lage sein, einen API-Client isoliert zu testen,
  • den Code zum Kommunizieren mit dem Front-End und dem Back-End unabhängig zu halten.

Wenn Sie über eine Klasse verfügen, die der Ausführung von Geschäftslogik für die Werte gewidmet ist, können Sie einen Großteil der Fehlerbehandlung in die Zwischenklasse auslagern.

Das bedeutet, dass die Kernklasse, die für den Großteil der Geschäftslogik verantwortlich ist, genau das haben sollte, was sie für ihre Arbeit benötigt. Das bedeutet nicht, dass keine Fehlerprüfung vorhanden sein sollte (Division durch Null oder so etwas, wissen Sie?), aber es bedeutet, dass Daten überprüft werden können, bevor sie überhaupt über die Zwischenklasse zur Kernklasse gelangen.

Und es kann nicht nur nach fehlenden Informationen suchen, sondern diese Fehler auch an das Front-End zurückmelden.

Drei Punkte zum Erinnern

Wenn Sie ein Ajax-abhängiges System in WordPress erstellen, hat all dies einen dreifachen Sinn:

  1. Diagramm des Systems, das Sie erstellen,
  2. Erstellen Sie eine Interstitial-Klasse zum Umgang mit fehlenden Informationen und melden Sie die Fehler zurück.
  3. Senden Sie die vollständigen Informationen erst an die Core Business Class, nachdem alle Informationen überprüft wurden.

Sobald Sie dies getan haben, besteht das Ziel darin, dass die Core Business Class die angeforderten Werte fehlerfrei zurückgibt, da sie abgefangen wurden, bevor sie überhaupt erreicht wurden.

Aufnahmequelle: tommcfarlin.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