CLXXV. 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 définit l'identifiant du paquet WDDX, retourné par la fonction wddx_packet_start() .

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, sinon, il le sera sous la forme d'un tableau.

Exemple 2790. Enregistre une valeur simple

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

L'exemple ci-dessus va afficher :

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

Exemple 2791. 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 ;
?>

L'exemple ci-dessus va afficher :


<wddxPacket version='1.0'><header comment='PHP'/><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 — Alias de wddx_unserialize()
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
wddx_unserialize — Délinéarise un paquet WDDX