CXXXII. WDDX

Introduction

Ces fonctions fonctionnent grâce à WDDX.

Pré-requis

Pour utiliser WDDX, vous devez installer la bibliothèque EXPAT (qui est fournie avec la distribution d'Apache 1.3.7 ou plus récent).

Installation

Après avoir installé Expat, compilez PHP avec --enable-wddx.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Cette extension ne définit aucune constante.

Exemples

Notez bien que toutes les fonctions qui enregistrent des données, utilisent le premier élément d'un tableau pour savoir si ce tableau doit être enregistré sous la forme d'un tableau, ou d'une structure. Si le premier élément a une clé de type chaîne, le tableau sera enregistré sous la forme d'une structure, et sinon, sous la forme d'un tableau.

Exemple 1. Enregistre une valeur simple

<?php
echo wddx_serialize_value("Exemple de paquet de PHP à WDDX", "Paquet PHP");
?>

Cet exemple va produire le résultat suivant :

<wddxPacket version='1.0'><header><comment>Paquet PHP</comment></header><data><string>Exemple de paquet de PHP à WDDX</string></data></wddxPacket>

Exemple 2. Utilisation de paquets incrémentaux

<?php
$pi
= 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Supposons que $villes provient d'une base de données */
$villes = array("Paris", "Montréal", "Lyon");
wddx_add_vars($packet_id, "villes");

$packet = wddx_packet_end($packet_id);
echo
$packet;
?>

Cet exemple donnera :

<wddxPacket version='1.0'><header><comment>PHP</comment></header><data><struct><var name='pi'><number>3.1415926</number></var><var name='villes'><array length='3'><string>Paris</string><string>Montréal</string><string>Lyon</string></array></var></struct></data></wddxPacket>

Note : Si vous voulez linéariser des caractères non-ASCII, vous devez d'abord convertir vos données en UTF-8. (voir les fonctions utf8_encode() et iconv()).

Table des matières
wddx_add_vars -- Ajoute des variables à un paquet WDDX
wddx_deserialize -- Lit un paquet WDDX
wddx_packet_end -- Clôt un paquet WDDX
wddx_packet_start -- Commence un nouveau paquet WDDX avec une structure
wddx_serialize_value -- Enregistre une valeur dans un paquet WDDX
wddx_serialize_vars -- Enregistre plusieurs valeurs dans un paquet WDDX