Die Apigee API -Client -Bibliothek für PHP erleichtert die Entwicklung von PHP -Clients, die die Apigee Edge/ X -Management -API aufrufen. Mit der Apigee API -Client -Bibliothek für PHP können Sie mit der API mit Objekten interagieren, anstatt die HTTP -Anforderung und die Antwort direkt zu verarbeiten.
Insbesondere bietet die Apigee API -Client -Bibliothek für PHP den Zugriff auf Apigee Edge- und Apigee -Management -APIs in den folgenden Kategorien:
Weitere Informationen zu den APIs von Apigee Edge und Apigee Management finden Sie in der Apise -APIs von Apigee Edge Management und erstellen Sie mit den APIs von Apigee Management in der Apigee -Dokumentation.
Die Apigee API-Client-Bibliothek für PHP, die mit der HTTPLUG-Bibliothek erstellt wurde, bietet eine HTTP-Client-Implementierungsbibliothek. Sie wählen den Kunden aus, der Ihren Projektanforderungen am besten entspricht.
Wenn Sie PHP <7.1- oder Monetarisierungs-API-Unterstützung benötigen, installieren Sie bitte die ältere Edge-PHP-SDK-Version. Wir planen, dieser Bibliothek in naher Zukunft eine API -Unterstützung für Monetarisierungen hinzuzufügen.
Core Persistent Services (CPS) ist bei privaten Cloud -Installationen nicht verfügbar. Der PHP -API -Client unterstützt die Pagination bei der Auflistung von API -Endpunkten (Beispiel: Listenentwickler). Wenn CPS nicht verfügbar ist, simuliert der PHP -API -Client die Paginierungsfunktion und löst einen Fehler e_user_notice auf, um Entwicklern wissen zu lassen, dass das paginierte Ergebnis von PHP und nicht vom Management -API -Server generiert wird. Diese Mitteilung kann auf verschiedene Arten unterdrückt werden. Sie können es unterdrücken, indem Sie die error_reporting -Konfiguration von PHP ändern, um alle Fehler auf E_NOTICE -Ebene zu unterdrücken, wobei der Wert auf E_ALL | ~E_NOTICE geändert wird E_ALL | ~E_NOTICE zum Beispiel. Sie können auch nur die vom PHP -API -Client generierte Mitteilung unterdrücken, indem Sie den variablen Wert der APIGEE_EDGE_PHP_CLIENT_SUPPRESS_CPS_SIMULATION_NOTICE auf einen falsy -Wert einstellen, zum Beispiel: APIGEE_EDGE_PHP_CLIENT_SUPPRESS_CPS_SIMULATION_NOTICE=1 .
In dieser Bibliothek wurde die Apigee Hybrid -API unterstützt und gilt nun als Produktionsbereit. Wenn Sie Probleme haben, fügen Sie unserer GitHub -Problemwarteschlange ein Problem hinzu.
Sie müssen einen HTTP -Client oder einen Adapter installieren, bevor Sie die Apigee API -Client -Bibliothek für PHP installieren. Eine vollständige Liste der verfügbaren Clients und Adapter finden Sie in Clients & Adaptern in der PHP-HTTP-Dokumentation.
Um die Clientbibliothek mit Guzzle 6 zu installieren, geben Sie die folgenden Befehle ein:
$ composer require php-http/guzzle6-adapter:^1.1.1
$ composer require apigee/apigee-client-php
<?php
use Apigee Edge Api Management Controller DeveloperController ;
use Apigee Edge Api Management Entity Developer ;
use Apigee Edge Exception ApiException ;
use Apigee Edge Exception ClientErrorException ;
use Apigee Edge Exception ServerErrorException ;
use Apigee Edge Client ;
use Http Message Authentication BasicAuth ;
include_once ' vendor/autoload.php ' ;
$ username = ' [email protected] ' ;
$ password = ' my-secure-password ' ;
$ organization = ' my-organization ' ;
$ auth = new BasicAuth ( $ username , $ password );
// Initialize a client and use basic authentication for all API calls.
$ client = new Client ( $ auth );
// Initialize a controller for making API calls, for example a developer controller to working with developer entities.
$ ec = new DeveloperController ( $ organization , $ client );
try {
/** @var ApigeeEdgeApiManagementEntityDeveloper $entity */
$ entity = $ ec -> load ( ' [email protected] ' );
$ entity -> setEmail ( ' [email protected] ' );
$ ec -> update ( $ entity );
// Some setters on entities are intentionally marked as @internal because the underlying entity properties can not
// be changed on the entity level. Those must be modified by using dedicated API calls.
// So instead of this:
$ entity -> setStatus (Developer:: STATUS_INACTIVE );
// You should use this:
$ ec -> setStatus ( $ entity -> id (), Developer:: STATUS_INACTIVE );
} catch ( ClientErrorException $ e ) {
// HTTP code >= 400 and < 500. Ex.: 401 Unauthorised.
if ( $ e -> getEdgeErrorCode ()) {
print $ e -> getEdgeErrorCode ();
} else {
print $ e ;
}
} catch ( ServerErrorException $ e ) {
// HTTP code >= 500 and < 600. Ex.: 500 Server error.
} catch ( ApiException $ e ) {
// Anything else, because this is the parent class of all the above.
}Richten Sie die Testsuite mit Composer ein, wenn sie noch nicht erledigt ist:
$ composer install --dev
Führen Sie es mit Phpunit aus:
$ composer test
Das Testen neuer Änderungen erfordert keine Apigee Edge -Verbindung. Standardmäßig verwenden Unit-Tests den Inhalt des Offline-Testdatenordners, um das Testen schneller und einfacher zu gestalten. Wenn Sie Einheiten -Tests mit einer echten Apigee Edge -Instanz ausführen möchten, müssen Sie die folgenden Umgebungsvariablen (ohne Klammern) angeben:
APIGEE_EDGE_PHP_CLIENT_API_CLIENT= A pigee E dge T ests T est C lient
APIGEE_EDGE_PHP_CLIENT_HTTP_CLIENT= H ttp A dapter G uzzle6 C lient
APIGEE_EDGE_PHP_CLIENT_BASIC_AUTH_USER=[[email protected]]
APIGEE_EDGE_PHP_CLIENT_BASIC_AUTH_PASSWORD=[PASSWORD]
APIGEE_EDGE_PHP_CLIENT_ORGANIZATION=[ORGANIZATION]
APIGEE_EDGE_PHP_CLIENT_ENVIRONMENT=[ENVIRONMENT]
# If test organization does not support CPS.
APIGEE_EDGE_PHP_CLIENT_SUPPRESS_CPS_SIMULATION_NOTICE=1 Es gibt mehrere Möglichkeiten, diese Umgebungsvariablen festzulegen, aber wahrscheinlich ist die einfachste, eine Kopie aus der Datei phpunit.xml.dist als phpunit.xml zu erstellen und die env -Elemente innerhalb des Elements zu kontrollieren.
Es ist auch möglich, Ihren eigenen Datensatz zu erstellen und zu verwenden. Wenn Sie Ihren eigenen Offline -Testdatensatz verwenden möchten, müssen Sie nur die Umgebungsvariable APIGEE_EDGE_PHP_CLIENT_OFFLINE_TEST_DATA_FOLDER definieren.
PS.: Einige Unit -Tests können nicht ausgeführt werden, wenn der Offline -Testdatensatz verwendet wird. Diese werden automatisch als übersprungen gekennzeichnet.
Diese Bibliothek folgt der semantischen Versioning -Strategie. Dies bedeutet, dass nur größere Veröffentlichungen (z. B. 3.0, 4.0 usw.) die Rückwärtskompatibilität brechen dürfen, und wir tun unser Bestes, um es so zu halten. Der PHP -API -Client muss mit den neuesten Versionen der unterstützten Apigee Edge -APIs kompatibel sein. Wie Sie sehen, implementiert fast jede Klasse mindestens eine Schnittstelle in dieser Bibliothek. Daher möchten wir vorschlagen, sich auf Schnittstellendefinitionen anstelle von konkreten Klassen zu verlassen, wenn Sie etwas oben in dieser Bibliothek erstellen. Bevorzugen Sie auch die Kapselung gegenüber der Vererbung, wenn Sie unsere Klassen erweitern. Wir werden eine neue Hauptversion aus dieser Bibliothek veröffentlichen, wenn eine Änderung einer unterstützten Apigee Edge -API im PHP -API -Client nicht implementiert werden kann, ohne eine Schnittstelle zu ändern.
Dieses Projekt, das Drupal 8 mit Apigee Edge verbindet, wird von Google unterstützt. Verwenden Sie die Ausgabewarteschlange unseres Projekts, um Fragen, Probleme oder Feedback zu melden.
Wir würden gerne Beiträge zu diesem Projekt akzeptieren. Weitere Informationen finden Sie in den Beitragsrichtlinien für dieses Projekt.