PHP and Web Services 学习笔记
来源:http://www.douzi.org/blog学习材料是: [Wrox]Professional Open Source Web Services
Chapter 8 PHP and Web Services
英文版电子书下载[pdf]
全文分为三个部分:
- 概述。PHP进行Web Services开发的优点,在Unix系统上安装配置PHP
- 在PHP中使用SOAP。NuSOAP工具包,NuSOAP的高级Web Service功能,如HTTP代理,SOAP over HTTPS,document style messaging。还将讨论如何解决一些PHP Web Services编程将会遇到的问题,如安全问题,语言到数据类型的映射
- PHP中的XML-RPC。XML-RPC的特性,XML-RPC与SOAP的对比,然后使用Useful, Inc.实现来创建XML-RPC的客户端和服务器程序
Section 1. 概述
PHP中已经通过绑定了Expat parser内置了XML支持,额外的还可以使用一些扩展程序(extension),如domxml(通过使用libxml库提供DOM, Xpath, Xlink支持),xslt(为复杂的第三方XSLT库如Sablotron和libxslt提供的外包程序)。另一个对Web Service 开发有用的PHP扩展程序是CURL(Client URL Library)。CURL允许你通过不同的协议,如HTTP, HTTPS, FTP, telnet, LDAP来通讯,其中的HTTPS对Web Services与服务器进行安全连接尤其有用。
SOAP vs XML-RPC 优缺点:
- 强大的类型扩展 (SOAP)
- 用户自定义字符集,如US-ASCII, UTF-8, UTF-16 (SOAP)
- Specifies recipient [指定容器?] (SOAP)
- 容器遇到无法理解的报文则失败 (SOAP)
- 易于使用 (XML-RPC)
- 设计简单 (XML-RPC)
配置PHP:
- Apache: 为了让PHP作为Apache的模块方式运行,使用 --with-apxs选项编译,如 --with-apxs=/www/bin/apxs。[我现在使用的Apache2, 我编译的PHP使用的选项是--with-apxs2=/usr/sbin/apxs]
- DOMXML: 可选功能,对解析XML文档十分有帮助。需要预先安装好libxml库(版本>=2.4.2),编译时使用 --with-dom=DIR 选项(缺省DIR为/usr)
http://www.xmlsoft.org/downloads.html
libxml 2.6.4 - sources - 2.52 MB - XSLT: 可选功能,对转换XML资料为其他类型的文档有帮助。编译时使用 --enable-xslt --with-xslt-sablot 选项。必须预先安装Sablotron XSLT库(http://www.gingerall.com/),(缺省DIR为/usr/lib或者/usr/local/lib)。
Sablotron 1.0.1 - sources - 470 kB - CURL: 如前所述,若提供SSL支持则是必须安装的。编译时使用 --with-curl=DIR 选项。也同样需要预先安装CURL库(版本>=7.0.2-beta)。 [我的PHP已经安装了。
补充:Php教程,Php常用代码