wddx 为全球信息网分散式文件交换,全名为 web distributed data exchange。其实 wddx 可以算是 xml 的一个分支。更多有关 wddx 的信息可以参考 http://www.wddx.org。
例一: 本例将单一值连续化
<?php
print wddx_serialize_value("php to wddx packet example", "php packet");
?>
返回到浏览器的资料为
<wddxpacket version='0.9'><header comment='php packet'/><data>
<string>php to wddx packet example</string></data></wddxpacket>
例二: 本例将 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);
print htmlentities($packet);
?>
返回到浏览器的资料为
<wddxpacket version='0.9'><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 |
wddx_serialize_value: 将单一值连续化。
wddx_serialize_vars: 将多值连续化。
wddx_packet_start: 开始新的 wddx 封包。
wddx_packet_end: 结束的 wddx 封包。
wddx_add_vars: 将 wddx 封包连续化。
wddx_deserialize: 将 wddx 封包解连续化。
wddx_serialize_value
将单一值连续化。
语法: string wddx_serialize_value(mixed var, string [comment]);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将单一数值连续化,并将它送到 wddx 封包中。参数 var 为值的内容。参数 comment 可省略,为在封包表头的字符串。
wddx_serialize_vars
将多值连续化。
语法: string wddx_serialize_vars(string var_name | array var_names [, ... ] );
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将多数值连续化,并将它送到 wddx 封包中。参数依次为值的内容,可以是字符串或是数组。
使用范例
<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";
$clvars = array("c", "d");
print wddx_serialize_vars("a", "b", $clvars);
?>
返回浏览器的资料为
<wddxpacket version='0.9'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxpacket>
wddx_packet_start
开始新的 wddx 封包。
语法: int wddx_packet_start(string [comment]);
返回值: 整数
函数种类: 资料处理
内容说明: 本函数开始新的 wddx 封包 (packet)。
wddx_packet_end
结束的 wddx 封包。
语法: string wddx_packet_end(int packet_id);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数结束 wddx 封包 (packet),并返回封包的资料字符串。参数 packet_id 为封包的代码。
wddx_add_vars
将 wddx 封包连续化。
语法: boolean wddx_add_vars(int packet_id, ...);
返回值: 布尔值
函数种类: 资料处理
内容说明: 本函数将多个 wddx 封包 (packet) 连续化成一个。若有错误则返回 false。
wddx_deserialize
将 wddx 封包解连续化。
语法: mixed wddx_deserialize(string packet);
返回值: 混合类型资料
函数种类: 资料处理
内容说明: 本函数将 wddx 封包 (packet) 解连续化成分散资料。参数 packet 为封包字符串。返回值可能为字符串、数字、或者数组等。