Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php:rest [2020/09/29 15:24] webproducer angelegt |
php:rest [2021/11/29 11:39] (aktuell) webproducer Weiterverarbeitung der JSON-Daten in PHP |
||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
* DELETE | * DELETE | ||
- | REST bezeichnet also die Art der Kommunikation zwischen zwei System über HTTP bzw. HTTPS, | + | ReST bezeichnet also die Art der Kommunikation zwischen zwei System über HTTP bzw. HTTPS, |
ist selbst jedoch kein Protokoll und stellt auch keinen Standard dar. | ist selbst jedoch kein Protokoll und stellt auch keinen Standard dar. | ||
- | Die zu übertragenden Daten werden im Regelfall im Datenformat JSON oder XML übertragen. | + | ---- |
+ | |||
+ | ===== Das Dateiformat ===== | ||
+ | |||
+ | Die zu übertragenden Daten werden im Regelfall im Datenformat JSON oder XML übertragen, wobei JSON die bessere Wahl ist, weil hier weit weniger Overhead erzeugt wird. | ||
+ | |||
+ | Bei dem folgenden kleinen Beispiel werden, bei gleichem Ergebnis, 1/3 weniger Daten übertragen, wenn das Dateiformat JSON verwendet wird: | ||
+ | |||
+ | **Dateiformat XML (Anzahl Zeichen mit Leerzeichen: 360)** | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | ||
+ | <kundenliste> | ||
+ | <kunde> | ||
+ | <kundennummer>12345</kundennummer> | ||
+ | <kundenvorname>Max</kundenvorname> | ||
+ | <kundennachname>Mustermann</kundennachname> | ||
+ | </kunde> | ||
+ | <kunde> | ||
+ | <kundennummer>67890</kundennummer> | ||
+ | <kundenvorname>Erika</kundenvorname> | ||
+ | <kundennachname>Mustermann</kundennachname> | ||
+ | </kunde> | ||
+ | </kundenliste> | ||
+ | </code> | ||
+ | |||
+ | Hinweis: Zum Bearbeiten von XML-Dateien kann die PHP-Erweiterung [[php:simplexml|SimpleXML]] verwendet werden. | ||
+ | |||
+ | **Dateiformat JSON (Anzahl Zeichen mit Leerzeichen: 236)** | ||
+ | |||
+ | <code javascript kundenliste.json> | ||
+ | { | ||
+ | "kundenliste": [ | ||
+ | { | ||
+ | "kundennummer": "12345", | ||
+ | "kundenvorname": "Max", | ||
+ | "kundennachname": "Mustermann" | ||
+ | }, | ||
+ | { | ||
+ | "kundennummer": "67890", | ||
+ | "kundenvorname": "Erika", | ||
+ | "kundennachname": "Mustermann" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | **Weiterverarbeitung der JSON-Daten in PHP** | ||
+ | |||
+ | <code php> | ||
+ | $json = file_get_contents( 'kundenliste.json' ); | ||
+ | $kundenliste = json_decode( $json ); | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Beispiele ===== | ||
+ | |||
+ | In den folgenden Beispielen wird das Dateiformat JSON benutzt. Zur Übertragung der Daten über ein HTTP bzw. HTTPS-Protokoll wird hier das Open Source Kommandozeilentool cURL verwendet, welches als Bibliothek in PHP installiert werden kann. | ||
+ | |||
+ | * [[redmine:api|Redmine-Tickets per ReST-API anlegen]] | ||
+ | * [[php:tado|Tado° ReST-API - Heizungssteuerung mit PHP]] |