Signatur
Beschreibung
wddx_packet_end() beendet ein zuvor mit wddx_packet_start() eröffnetes WDDX-Paket. Die Funktion schreibt den abschließenden XML-Tag des Pakets, gibt den vollständigen WDDX-XML-String zurück und gibt die zugehörigen Ressourcen frei.
WDDX (Web Distributed Data eXchange) ist ein XML-basiertes Format zum Serialisieren und Austauschen von Datenstrukturen zwischen verschiedenen Plattformen und Programmiersprachen. Ein typischer Workflow besteht aus: Paket öffnen (wddx_packet_start()), eine oder mehrere Variablen hinzufügen (wddx_add_vars()) und schließlich das Paket mit wddx_packet_end() abschließen.
Der zurückgegebene String enthält wohlgeformtes XML und kann direkt übertragen, in einer Datenbank gespeichert oder von einem anderen System deserialisiert werden. Für die einfache Serialisierung einzelner Werte steht alternativ wddx_serialize_value() zur Verfügung.
Achtung: Die gesamte WDDX-Erweiterung (ext/wddx) wurde mit PHP 7.4 als veraltet markiert und mit PHP 8.0 vollständig entfernt. Sie sollte in modernen Projekten nicht mehr verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $packet_id Pflicht | resource | Die Ressourcen-ID des WDDX-Pakets, wie sie von wddx_packet_start() zurückgegeben wurde. |
Rückgabewert
false zurückgegeben.Beispiele
Einfaches WDDX-Paket erstellen und abschließen
<?php
// WDDX-Paket mit Kommentar öffnen
$packet_id = wddx_packet_start('Mein Testpaket');
// Variablen definieren und zum Paket hinzufügen
$name = 'Max Mustermann';
$alter = 42;
wddx_add_vars($packet_id, 'name', 'alter');
// Paket abschließen und XML-String erhalten
$xml = wddx_packet_end($packet_id);
echo $xml;
WDDX-Paket mit Array-Daten serialisieren
<?php
// Array-Daten vorbereiten
$benutzer = [
'id' => 1,
'email' => 'max@example.com',
'aktiv' => true,
];
// Paket öffnen, Variable hinzufügen, abschließen
$packet_id = wddx_packet_start('Benutzerdaten');
wddx_add_vars($packet_id, 'benutzer');
$wddx_xml = wddx_packet_end($packet_id);
// XML z.B. in Datei speichern
file_put_contents('/tmp/benutzer.wddx', $wddx_xml);
echo 'WDDX-Datei wurde gespeichert.' . PHP_EOL;
echo $wddx_xml;
// Wichtig · Fallstricke
Deprecation: Die WDDX-Erweiterung wurde in PHP 7.4 als veraltet (deprecated) eingestuft und ist seit PHP 8.0 nicht mehr verfügbar. Bestehender Code sollte auf moderne Alternativen wie json_encode()/json_decode() oder serialize()/unserialize() umgestellt werden.
Nach dem Aufruf von wddx_packet_end() ist die übergebene Ressource ungültig und darf nicht mehr verwendet werden. Ein erneuter Aufruf mit derselben Ressource führt zu einem Fehler.