CLVIII. WDDX Functions

簡介

These functions are intended for work with WDDX.

需求

In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).

安裝

After installing expat compile PHP with --enable-wddx.

PHP 的 Windows 版本已經內建該增加模組的支援。無需加載任何附加增加庫即可使用這些函數。

運行時配置

本增加模組在 php.ini 中未定義任何配置選項。

資源類型

本增加模組未定義任何資源類型。

預定義常量

本增加模組未定義任何常量。

範例

All the functions that serialize variables use the first element of an array to determine whether the array is to be serialized into an array or structure. If the first element has string key, then it is serialized into a structure, otherwise, into an array.

例子 1. Serializing a single value with WDDX

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

This example will produce:

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

例子 2. Using incremental packets with 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;
?>

This example will produce:

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

注: If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first (see utf8_encode() and iconv()).

目錄
wddx_add_vars --  Add variables to a WDDX packet with the specified ID
wddx_deserialize -- 別名 wddx_unserialize()
wddx_packet_end -- Ends a WDDX packet with the specified ID
wddx_packet_start --  Starts a new WDDX packet with structure inside it
wddx_serialize_value -- Serialize a single value into a WDDX packet
wddx_serialize_vars -- Serialize variables into a WDDX packet
wddx_unserialize -- Unserializes a WDDX packet