Dieses Tutorial erweitert eine frühere Rate und konzentriert sich auf die Erstellung einer robusten und gut getesteten Diffbot-API-Clientbibliothek mithilfe von Phpunit und TDD (testgetriebene Entwicklung). Die vorherigen Teile umfassten grundlegende Funktionen und abstrakte Klassentests. Dieser Teil befasst sich mit Datenspott, Fabrikmustern und Entitätsmanagement für eine verbesserte Effizienz und Wartbarkeit.
Schlüsselverbesserungen:
Diffbot
Klasse fungiert als Fabrik und zentralisiert die Erstellung von API -Unterklassen. Dieser Ansatz vermeidet zu übergreifend und bietet gleichzeitig eine saubere Möglichkeit, den HTTP-Client und den API-Token zu verwalten. Entity
und EntityFactory
Klassen werden eingeführt, um API -Antworten zu verarbeiten. Dies ermöglicht eine flexible und austauschbare Verarbeitung verschiedener Datentypen, wodurch die Anpassungsfähigkeit der Bibliothek verbessert wird. curl
. Implementierungsdetails:
Die Api
abstrakte Klasse wird aktualisiert, um eine registerDiffbot
-Methode einzuschließen, wodurch API -Unterklassen auf die übergeordnete Diffbot
-Instanz für den Token- und HTTP -Client zugreifen können. Die Diffbot
-Kläufe wird mit Methoden zum Festlegen und Abrufen des HTTP -Clients (GuzzleHttpClient
) und zum Erstellen von Instanzen spezifischer API -Unterklassen (Produkt, Artikel, Bild, Analyse).
.
Entity
Eine entscheidende Ergänzung ist die Einführung der EntityFactory
-Stract -Klasse und der EntityFactory
-Schingrenz. Das Entity
(implementierte von der Product
Klasse) erstellt anhand der API -Antwort geeignete Entitätsobjekte (z. B. Article
, Image
, Product
). Dies ermöglicht die maßgeschneiderte Handhabung verschiedener Datentypen. Es wird ein Beispiel
Die buildUrl
-Methode wird in der Api
-Stract -Klasse eingeführt, um API -URLs, einschließlich benutzerdefinierter Felder, zu konstruieren. Unit -Tests werden bereitgestellt, um deren Funktionalität zu überprüfen. Die call
-Methode in der Api
-Stract -Klasse verwendet den HTTP -Client und die Entitätsfabrik der Diffbot
-Stanzen, um API -Anrufe zu tätigen und das entsprechende Entitätsobjekt zurückzugeben.
Tests:
Das Tutorial enthält ein Beispiel für ein Beispiel, das zeigt, wie verspottete Antworten mit Guzzle und Phpunit verwendet werden, um die ProductApiTest
-Methode zu testen. Anweisungen zum Erstellen von Mock -Antwortdateien mit call
. curl
Nächste Schritte:
Das Tutorial schließt ab, indem er die Leser dazu ermutigt, die verbleibenden Unternehmen und Tests zu implementieren, wodurch die langfristigen Vorteile von gründlichen Tests betont werden. Der letzte Teil wird Verpackungen und Bereitstellungen für packagist.org.abdecken
Das obige ist der detaillierte Inhalt vonAPI -Client TDD mit verspotteten Antworten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!