当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

3.8提供REST形式的API

9/17/2020 9:43:31 PM 人评论

3.8提供REST形式的API

3.8 提供REST形式的API

现在很多的网络大公司(如Google等)都将提供免费API作为自己营销战略的一部分,用户利用提供的API可以更好地享受该公司提供的服务,该网络公司也凭借新战略扩大和巩固自己的用户层。

本节将介绍一种公开API-REST形式的API,简单地说,REST形式的API能接受用户的输入参数,而返回XML形式的数据。通过解析XML,用户就像能浏览网站DB一样浏览需要的信息。你如果能在返回的XML数据的基础上,利用最新像Flash/Flex这样的技术提供用户一个精美的界面,那更有API的感觉了。这些都不在本书讨论范围内,你可以参照本书的网站,或本人所著的其他书籍。

alt

本例要点

上面已经介绍过,REST形式的API返回XML数据,技术没有什么特别之处。需要注意的只是XML文档的生成。本节使用PHP5.1中提供的XmlWriter函数来生成XML文档。PHP中除了XmlWriter函数外,还可以利用DOM(Document Object Model)来生成XML文档。利用DOM时,必须把握XML的树结构,操作复杂,而其会消耗大量的内存空间。而用了XmlWriter函数,无须考虑什么树结构,就算文件很大时,消耗的内存空间也有限等优点。

当然XmlWriter函数并不适合编辑复杂的XML文档,但对结构简单的XML文档来时,可是很好用的函数。

目录结构

alt

数据库的表结构

books(书籍表,参照3.6节)。

本例代码

alt

指定输出内容的类型,这里定义以UTF-8的形式输出XML文档。

alt

生成新的xmlWriter对象,并为XML的输出做准备。

alt

xmlWriter是非常简洁的类,提供了一系列如startxxxx/endxxxx样的函数,进行XML文档格因子/属性的输出。关于xmlWriter的方法与属性请参照本书后的索引。

这里首先用startDocument方法宣示文档输出开始,最后会有endDocument宣示文档输出结束。

alt

以由查询信息传过了书号作为条件,从表books中检索书籍信息,采取前方一致的形式构筑检索条件。

alt

依次取出结果集中的数据,并以“<title>书名</title>”的形式生成XML文档的因子。注意isbn作为属性输出。

alt

将保存在内存中的XML文档信息,通过调用outputMemory方法进行输出,参数TRUE表示输出完成后,刷新内存。

alt


知识专栏:Zend Optimizer

Zend Optimizer是能优化PHP标准的、随机生成的中间代码,从而提高应用程序处理性能的工具。Zend Optimizer能在Zend公司的网站(http://www.zend.com/product/zendoptimizer.html)上免费下载,有兴趣的朋友可以下载下来试试。

安装的方法非常简单,在Windows版本的情况下,双击下载下来的文件即可。Linux版时,在下载的压缩文件中有install.sh文件,执行一下即可。而且不用修改php.ini配置文件。

可以在phpinfo画面查看Zend Optimizer是否正确地安装。如果画面出现了“with Zend Optimizer v3.3.0 Copyright (c) 1998-2007,by Zend Technologies”,就说明安装成功了。


相关教程

共有条评论 网友评论

验证码: 看不清楚?