Signatur
Beschreibung
wddx_packet_start() initialisiert ein neues WDDX-Paket (Web Distributed Data eXchange) und gibt eine Ressource (Paket-ID) zurück. Diese ID wird anschließend an wddx_add_vars() übergeben, um Variablen in das Paket einzufügen, und schließlich an wddx_packet_end(), um das fertige XML-Dokument als Zeichenkette zu erhalten.
WDDX ist ein auf XML basierendes Format zum plattformübergreifenden Datenaustausch zwischen Webanwendungen. Das Format ermöglicht es, PHP-Variablen verschiedener Typen (Strings, Arrays, Strukturen) zu serialisieren und in anderen Sprachen oder Systemen wieder zu deserialisieren.
Der optionale Parameter comment erlaubt es, dem Paket einen menschenlesbaren Kommentar hinzuzufügen, der im erzeugten XML als <comment>-Element erscheint und zur Dokumentation des Paketinhalts genutzt werden kann.
Achtung: Die WDDX-Erweiterung wurde mit PHP 7.4 als veraltet markiert (deprecated) und in PHP 8.0 vollständig entfernt. Für neuen Code sollten stattdessen json_encode() oder serialize() verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $comment | string | "" | Ein optionaler Kommentar, der als <comment>-Element in den WDDX-Paketheader eingefügt wird. Dient der menschenlesbaren Dokumentation des Paketinhalts. |
Rückgabewert
wddx_add_vars() und wddx_packet_end() verwendet wird. Im Fehlerfall wird false zurückgegeben.Beispiele
Einfaches WDDX-Paket mit einer Variable erstellen
<?php
// WDDX-Paket starten (nur PHP < 8.0)
$pid = wddx_packet_start('Mein erster WDDX-Export');
$name = 'Max Mustermann';
$alter = 42;
// Variablen zum Paket hinzufügen
wddx_add_vars($pid, 'name', 'alter');
// Paket abschließen und XML-String erhalten
$xml = wddx_packet_end($pid);
echo $xml;
WDDX-Migration: Äquivalent mit json_encode() für PHP 8+
<?php
// Moderne Alternative zu WDDX (PHP 8.0+)
$daten = [
'name' => 'Max Mustermann',
'alter' => 42,
'aktiv' => true,
];
// JSON als plattformübergreifendes Austauschformat
$json = json_encode($daten, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo $json;
// Wichtig · Fallstricke
Deprecation-Hinweis: Die gesamte WDDX-Erweiterung (ext/wddx) wurde in PHP 7.4 als veraltet (deprecated) eingestuft und in PHP 8.0 vollständig entfernt. Code, der wddx_packet_start() verwendet, ist auf PHP-Versionen ab 8.0 nicht mehr lauffähig.
Für neue Projekte oder bei der Migration sollte json_encode() / json_decode() als moderner, weitverbreiteter Standard für den Datenaustausch verwendet werden. Für rein PHP-interne Serialisierung steht serialize() / unserialize() zur Verfügung.
WDDX-Pakete enthalten unbereinigten Inhalt der übergebenen PHP-Variablen. Beim Empfang von WDDX-Daten aus externen Quellen sollten diese stets validiert werden, da wddx_deserialize() – ähnlich wie unserialize() – potenziell gefährlich sein kann.