Start · Sprachen · PHP · Referenz · wddx_packet_start

wddx_packet_start

Funktion

Beginnt ein neues WDDX-Paket und gibt eine Paket-ID zurück, die für weitere WDDX-Operationen verwendet werden kann.

seit PHP 4.0.0 Kategorie: xml

Signatur

wddx_packet_start(string $comment = ""): resource|false

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

Typ
resource|false
Beschreibung
Gibt eine WDDX-Paket-Ressource zurück, die als Handle für 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;
<wddxPacket version='1.0'><header><comment>Mein erster WDDX-Export</comment></header><data><struct><var name='name'><string>Max Mustermann</string></var><var name='alter'><number>42</number></var></struct></data></wddxPacket>

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;
{ "name": "Max Mustermann", "alter": 42, "aktiv": true }

// 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.