file_get_contents, XML und HTTP Fehler
Die letzten beiden Klassen haben ja alle auf file_get_contents gesetzt und ich habe bei der AmazonECS auch erklärt das ihr bei Problemen euch selbst darum kümmern musst. Bei Amazon ist das auch kein Problem, denn bei fehlerhaften Requests liefern die auch ein Fehlerformular, aber bei 404 siehts übel aus.
Ich habe nun für meine aktuelle Klasse eine Methode entwickelt die den direkten Aufruf von file_get_contents() umgeht und bei einem Fehler ein kleines XML Dokument liefert anstatt die Ausgabe mit einer hässlichen PHP Warning zu zerstören. Es ist zwar ein wenig "dirty", aber es bewahrt mich davor PHP5 try/catch Handling einzubauen nur für den beschriebenen Fall.
Zur Zeit sieht ein return wie folgt aus:
Das habe ich nun geändert und durch query_service ersetzt:
-
return $this->query_service($this->queryUrl);
Und hier ist die Methode query_service()
-
function query_service($url)
-
{
-
$errorDoc = '<?xml version="1.0" encoding="UTF-8"?>'
-
.'<php><error>There was a problem getting the content</error></php>';
-
-
{
-
$data = $errorDoc; // if data is not target, return errorDoc
-
}
-
-
return $data;
-
}
Schön wäre es natürlich wenn man die originale Fehlernachricht in das $errorDoc einfügen könnte. Irgendwelche Einwände oder gar eine bessere Lösung, Tips, Hinweise?
PS: Sobald ich die aktuelle Klasse fertig habe, werde ich die beide vorherigen dahingehend schonmal überarbeiten.
