SAGA D.C. GmbH > SAGA.M31 - Galaxy
 

PHP API

Was ist die PHP API?

Mit Hilfe dieser PHP API ist es möglich aus PHP Scripts Galaxy Anfragen zu versenden und die Ergebnisse zu empfangen.

Abhängigkeiten

Um die PHP API einsetzen zu können, sind die folgenden Programme vorrausgesetzt:

Diese Programme sind allesamt als Freeware erhältlich.

Inhalt des Pakets

Das PHP API Paket enthält die folgenden Dateien:

Filename Description
GalaxyConfigParser.php Klasse um die Galaxy Konfigurationdatei zu lesen
GalaxyFactory.php Klasse die eine Methode bereitstellt um eine vorher konfigurierte Anfrage aus der Galaxy Konfigurationsdatei zu holen
GalaxyRequest.php Klasse, die Methoden bereitstellt, um Anfragen zu erstellen, Eingabefelder zu definieren, die Anfrage abzusenden und um Ergebnisse zu empfangen
GalaxyXmlParser.php Diese Klasse liest die Antwort einer zuvor gesendeten Galaxy Anfrage und schreibt die ankommenden Daten in ein logisch aufgebautes Array
GalaxyLogger.php Klasse, die für die erstellung der Log File verantwortlich ist

Installation

Den Inhalt des Pakets in ein beliebiges Verzeichnis kopieren. Alle Dateien aus dem Paket müssen sich in dem selben Ordner befinden.

Anwendung der PHP API

Um die PHP API anwenden zu können ist es erforderlich zuvor eine Galaxy Konfigurationsdatei mit Hilfe des Galaxy Eclipse Plugins zu erstellen.

Schritt 1 - Galaxy Factory Instanz erstellen

Um auf die Methoden der GalaxyFactory zugreifen zu können muss die GalaxyFactory.php zunächst in das Script eingebunden werden:

include("galaxy/GalaxyFactory.php");

Jetzt wird eine Instanz dieser Klasse erstellt, mit der Galaxy Konfigurationsdatei als Argument, um auf ihre Methoden zugreifen zu können:

$galaxyInstance = new GalaxyFactory("galaxy.cfg.xml");

Schritt 2 - Galaxy Anfrage anfordern und Konfigurieren

Jetzt muss eine zuvor über das Eclipse Plugin erstellte Galaxy Anfrage angefordert werden. Es wird ein Objekt der GalaxyRequest.php Klasse zurückgegeben, mit der die Anfrage konfiguriert werden kann:

$galaxyRequest = $galaxyInstance->getRequest("MustermannEmployees");

Falls die Anfrage Eingabefelder beinhaltet, so müssen diese jetzt hinzugefügt werden, dazu wird im 1. Argument festgelegt welches Eingabefeld zu belegen ist und im 2. Argument der Wert der in das Eingabefeld einzutragen ist:

$galaxyRequest->addInputItem("userId", "1");

Schritt 3 - Galaxy Anfrage absenden und Ergebnis empfangen

Nachdem die Eingabefelder konfiguriert sind, kann die Anfrage abgesendet werden:

$galaxyRequest->doRequest();

Nach erfolgreichem Lauf des Containers innerhalb von Galaxy, können die Daten auf 2 verschiedene Wege ausgelesen werden:

$resultArray = $galaxyRequest->getOutputItems();

Diese Methode gibt das gsamte Array mit allen Ergebnissen zurück. Will man ein bestimmtes Ergebnis aus dem Array haben, so geht dies über die Methode

$galaxyRequest->getOutputItem("EmployeeDetails");

Dabei wird dann das Array "EmployeeDetails" aus dem Ergebnis Array alleine zurückgeliefert