收藏 分享(赏)

第14章 PHP和Web分布式数据交换.ppt

上传人:j35w19 文档编号:8699036 上传时间:2019-07-08 格式:PPT 页数:24 大小:90.50KB
下载 相关 举报
第14章 PHP和Web分布式数据交换.ppt_第1页
第1页 / 共24页
第14章 PHP和Web分布式数据交换.ppt_第2页
第2页 / 共24页
第14章 PHP和Web分布式数据交换.ppt_第3页
第3页 / 共24页
第14章 PHP和Web分布式数据交换.ppt_第4页
第4页 / 共24页
第14章 PHP和Web分布式数据交换.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、PHP Web程序设计教程与实验,第14章 PHP和Web分布式数据交换,第14章 PHP和Web分布式数据交换,14.1 WDDX概述 14.2 WDDX的结构 14.3 PHP WDDX函数的使用 14.4 创建基于WDDX的Web服务,14.1 WDDX概述,14.1.1 WDDX概述 14.1.2 WDDX数据类型,14.1.1 WDDX概述,WDDX,英文全称为Web Distributed Data Exchange,是一种基于XML的Web分布式数据交换技术。 利用WDDX,可以将一个Web应用程序的变量(包括变量名字、数据类型和值)串行化为XML文档(称为WDDX包),再发送到

2、另一个Web应用程序。,14.1.1 WDDX概述,WDDX使用HTTP协议,在Web应用程序之间进行数据传输。利用串行化和反串行化函数,将本地数据串行化为WDDX包格式和将WDDX包格式的数据反串行化为本地数据类型的过程,如图14.1所示。,串行化:接受数据,将数据转换为WDDX包。 反串行化:将WDDX包的数据转换为本地的原数据类型。,14.1.2 WDDX数据类型,WDDX支持的数据类型:,14.2 WDDX的结构,14.2.1 WDDX的结构 14.2.2 简单的数据类型元素 14.2.3 复杂的数据类型元素,14.2.1 WDDX的结构,WDDX包是一个WDDX格式的XML文档。 以

3、wddxPacket元素为文档元素,包含一个header元素和一个data元素,header元素是注释的容器,data元素是要交换的实际数据的容器。 wddxPacket元素有一个version属性,指定WDDX的版本。,14.2.1 WDDX的结构,一个没有comment元素的WDDX包的结构如下:,14.2.1 WDDX的结构,含有comment元素的WDDX结构如下:这是包的注释内容,14.2.2 简单的数据类型元素,简单数据类型元素: 1null元素:表示一个NULL值 2boolean元素:表示布尔值,其值可以是true或false。 3number元素: 表示浮点数字。 4date

4、Time元素: 以ISO 8601格式表示日期和时间。 5string元素: 包含任意长度的字符串,字符串中不能含有NULL。,14.2.3 复杂的数据类型元素,复杂的数据类型元素包括array、struct、recordset和binary元素。 array元素 array元素保存数组元素下标为整数的数组的数据。 array元素的子元素表示数组元素值,如: array(a, 1, false);array(0=a, 1=1, 2=false); 串行化为WDDX包,生成的array元素都是如下结果:a1,14.2.3 复杂的数据类型元素,struct元素 结构是以字符串为索引的数据集合。st

5、ruct元素表示结构化的内容。 struct元素是0个或多个var元素的容器,这些元素表示变量或类的属性,其 name属性存放变量名或类属性名。,14.2.3 复杂的数据类型元素,例如: 1, key2=2); ?,12345This is a string12,生成的struct元素,14.2.3 复杂的数据类型元素,recordset元素 recordset元素由任意多个field子元素组成 recordset元素有两个属性: rowCount属性定义行数 fieldNames属性定义字段名列表,14.2.3 复杂的数据类型元素,例如,一个记录集如下:,当使用recordset元素存储该记

6、录集时,数据被串行化为:1 2张小春 李大锋20 25,14.2.3 复杂的数据类型元素,binary元素 binary元素表示二进制大对象(BLOB)数据,如图形数据,它是二进制数据表示的字符串。WDDX 1.0要求对二进制数采用Base-64编码。如:,14.3 PHP WDDX函数的使用,14.3.1 用WDDX串行化数据 14.3.2 反串行化数据,14.3.1 用WDDX串行化数据,简单串行化 string wddx_serialize_value(mixed var , string comment) 创建一个含有一个值的WDDX包。,【例14.1】wddx_serialize_v

7、alue()函数的示例。 ,14.3.1 用WDDX串行化数据,简单串行化 string wddx_serialize_value(mixed var , string comment) 创建一个含有一个值的WDDX包。,【例14.1】wddx_serialize_value()函数的示例。 ,14.3.1 用WDDX串行化数据,string wddx_serialize_vars(mixed var1 , mixed var2, .) 创建一个含有结构的WDDX包,该结构中包括传递给函数的变量的串行化数据元素。 使用wddx_serialize_vars()函数,允许按名字串行化任意多个变量

8、。,【例14.2】wddx_serialize_vars()函数的示例 。,14.3.1 用WDDX串行化数据,复杂的串行化 int wddx_packet_start(string comment) 创建一个新的WDDX包,并自动创建一个WDDX包的结构定义。 bool wddx_add_vars(int packet_id, mixed var1 , mixed var2,.) 串行化一个或多个变量,并添加到指定的WDDX包。 string wddx_packet_end(int packet_id)该函数关闭由WDDX包标识符指定的WDDX包,返回一个表示WDDX包的字符串。,14.3.2 反串行化数据,反串行化是将一个WDDX包转换为一个相关的PHP变量的过程。 反串行化函数: mixed wddx_deserialize(string packet) 将WDDX包反串化为PHP的本地数据。返回的值可以是字符串、数值或数组。,14.4 创建基于WDDX的Web服务,以一个MySQL数据库的学生管理student_db数据库的学生基本表student表为例,编写一个Web服务和一个Web服务的客户端程序。,【例14.7】一个简单的WDDX Web服务程序。【例14.8】WDDX Web服务的客户端程序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报