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]] | ||