CXXXII. Funções WDDX

Introdução

Essas funções tem o intuito de funcionara com WDDX.

Dependências

Para usar WDDX, você precisará instalar a biblioteca expat (que vem com o Apache 1.3.7 ou superior).

Instalação

Depois de instalar o expat, compile o PHP com a opção --enable-wddx.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no php.ini.

Tipos Resource

Esta extensão não possui nenhum tipo resource.

Constantes pré-definidas

Esta extensão não possui nenhuma constante.

Exemplos

Todas as funções que serializam variáveis usam o primeiro elemento de um array para determinar se o array deve ser serializado em um array ou estrutura. Se o primeiro elemento tem uma chave string, então ele é serializado em uma estrutura, caso contrário, em um array.

Exemplo 1. Serializando um único valor com WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

Esse exemplo produzirá:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Exemplo 2. Usando pacotes incrementais com WDDX

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

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

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

Esse exemplo produzirá:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Nota: Se você quiser serializar caracteres não-ASCII, você tem que primeiro converter seus dados para UTF-8 (veja utf8_encode() e iconv()).

Índice
wddx_add_vars --  Adiciona variáveis a um pacote WDDX com o IP especificado
wddx_deserialize -- Desserializa um pacote WDDX
wddx_packet_end -- Finaliza um pacote WDDX com o ID especificado
wddx_packet_start --  Inicializa um novo pacote WDDX com uma estrutura dentro dele
wddx_serialize_value -- Serializa um único valor em um pacote WDDX
wddx_serialize_vars -- Serializa variáveis em um pacote WDDX