仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5098|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之PHP 开辟人员:充分您的 XML 东西箱

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:27:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习如何将PHP与HTML结合起来完成简单动态页面xml   PHP 对 XML 的撑持跟着 PHP 的盛行不休在加强。可以从本文中找出近一打 PHP 开辟人员可用的 XML 东西。 东西参谋 Craig Knudsen 还描写了一个从 PHP 外部会见更多 Java 东西的办法。
PHP 对 XML 的撑持始于版本 3.06,事先 James Clark 盛行的基 于 C 的 expat 语法剖析器初次作为 PHP 3 模块集成到了该版本。自那时起,不休地开辟了很多用于 XML 的 PHP 模块和类;有关我在比来一次对今朝供给东西查询拜访中发明的一些东西的概述,请参阅表格:PHP 开辟人员的 XML 东西。

SAX 仍是 DOM 语法剖析?
PHP 4 的缺省设置装备摆设包括 expat XML 语法剖析器,这是一个 SAX(XML 的复杂 API,Simple API for XML)语法剖析器。PHP 4 中可以使用 DOM(文档对象模子,Document Object Model)API,除非把 PHP 4 法式包设置装备摆设成可以使 用 DOM API(利用 --with-dom 设置装备摆设选项)或 利用 Windows 的二进制刊行版来启动 PHP 4 法式包,不然将不构建它。为了能利用 PHP 的 DOM 模块,需安 装 GNOME XML 库,并且需求利用 PHP 4.0.4 或更新版本。

DOM 和 SAX 利用分歧的形式对 XML 停止语法剖析。当 SAX 语法剖析器碰到一个您 感乐趣的标志时,它将挪用一个已指定的回调。而 DOM 却将全部文档装入一个您可以反省和把持的树布局中。自 版本 4.0.4 起,PHP 的 DOM 模块还撑持 XPath。

不是每一个人都可以掌握办事器情况的,所以从头构建 PHP 能够不成行。值得光荣的是,还有另外一种在 PHP 中利用 DOM 的办法。<phpXML/> 项目已开辟 了一个撑持 DOM 的 PHP 类。因为它全体是用 PHP 编写的,所以不需求对办事器停止任何修正。

为 XML 设置装备摆设 PHP
Windows 用户将发明下载 PHP 的二进制刊行版十分轻易。二进制刊行版的优点在于已有工资您做了一局部的任务;您不用别的下载任何代码停止编译,而且它已内置了很多扩大(包含 DOM 扩大)。

假如利用的不是 Windows,则能够需求从源代码构建 PHP。缺省时, PHP 最新刊行版将主动包括基于 expat (SAX) 的 XML 撑持。假如要在法式包中包括 DOM 撑持,则必需将 PHP 法式包设置装备摆设成能处置 DOM。有关若何从源代码构 建 PHP 的具体信息,请检查参考材料。同时,请切记 在运转 PHP 的 configure 剧本时需求将 --with-dom 作为一个选项添加出来。

PHP 中的 DOM 撑持依然处于实行阶段(自版本 4.0.5 起),这意味 该 API 会在从此的版本中作更改。

利用 XSLT
PHP 4 还添加了 XSLT 功效。(XSLT 答应您将 XML 文档变换为其它格局,如 PDF 或 HTML 格局的文档,而且还答应您做更多法式上的更改。)PHP 4 中的 XSLT 模块可同时利用 expat 和 Sabloton。 在构建 PHP 之前,必需先下载并装置 Sabloton(见参考材料), 而且必需在 PHP 法式包设置装备摆设时代利用 --with-sablot 选项。

Web 办事
假如您对利用 PHP 开辟 Web 办事感乐趣,可以依据本人的需求 利用 SOAP 或 XML-RPC。SOAPx4 软件包同时供应了用 PHP 编写的客户机和办事器。关于 XML-RPC,可以从多种 XML-RPC 完成当选择一个, 包含 Useful Information 公司开辟的很好的一个。

SOAP 和 XML-RPC 完成全体都是用 PHP 编写的。 假如您的办事器为 PHP 启用了 XML 撑持(缺省情形),则不需求对办事器 作任何修正。

PHP 以外的选择
假如一向没法为要利用的东西找到 PHP 接口,还有别的一个选择:Java。固然 PHP 的 XML 东西列表在不休扩展,但 JAVA 中依然有更多可用的 XML 东西。PHP 4 包括了对会见 Java 对象的撑持,这使 PHP 开辟人员 可使用各类 Java XML 东西。

固然 PHP 的 Java 撑持并不是是全新的,但要找出若何装置与 利用 Java 模块的唆使信息仍要费一番功夫。PHP 手册中没有这些唆使信息。然而,您可以 检查 PHP 刊行版 ext/java 目次下的“自述文件”懂得引见装置和利用的文档。切记,装置进程 对每一个 Java 完成而言都存在少量差别。

PHP 开辟人员的 XML 东西

语法剖析器:
PHP XML 基于 SAX 的语法剖析器,它依据 Jim Clark 的 expat 构建在 PHP 内。
PHP DOM 构建在 PHP 中的 DOM 撑持,它需求 Sabloton。
<phpXML/> <phpXML/>答应 DOM 利用 PHP DOM 模块来会见 XML 文档。
phpDOM phpDOM 为 PHP DOM 模块供应了一个 PHP4 类封装器。
PRAX PRAX 是 RAX 的一种 PHP 完成,SAX 的替换。
协定:
SOAPx4 Dietrich Ayala 开辟的 SOAP 客户机和办事器完成
PHP 的 SOAP 客 户机和办事器 Giga Ideas 开辟的 SOAP 客户机和办事器完成
PHP 的 XML-PRC 客 户机和办事器<//td> Useful Information 公司开辟的 XML-RPC 客户机和办事器完成
eZ xmlrpc<//td> XML-RPC 的客户机和办事器完成
Hail Stone XML-RPC 办事器
XMLRPC-EPI 这是一个用起来复杂快捷的基于 C 的 PHP 模块,完成了客户机和办事器 XML-RPC。



参考材料

您对 PHP 东西有甚么定见吗?请经由过程单击文章顶部或底部的会商,可列入与本文相干的服装论坛。
可以从 PHP 下载页面下载 PHP 的源代码 或 Windows 的二进制刊行版。
文档对象模子 (DOM) 供应了一个尺度对象集,用于暗示 HTML 和 XML 文档,并供应了一个尺度的接口,用于会见和把持这些文档。
XML 途径言语 (XPath) 是 一种 XSLT 和 XPointer 都能利用的,用于定位 XML 文档中某些局部的的言语。
XML 的复杂 API (SAX) 是对基于事务的 XML 停止语法剖析的一个尺度接口。
XML 面向纪录 的 API (RAX) 是两个主流 API(SAX 和 DOM)的替换项。
工业强度 亦或泡沫?对 SOAP、RPC 和 RMI 停止了分析。
XML-RPC 答应在各不不异的操作体系中、在分歧情况下运转的软件在全部 Internet 长进行进程挪用。
利用 PHP 剧本 言语疾速编写 Web 数据库剧本包括了从源代码构建 PHP 的慢慢 唆使信息,并引见了构建数据库驱动的 PHP 使用法式。
为了在从源代码构建 PHP 时启用 DOM 撑持,需装置 Gnome 的 XML C 库。
为了利用 PHP 的 XSLT 模 块,在构建 PHP 之前必需装置 Sabloton。
PHP 手册包括了有关利用基 于 expat 的 XML 功效、DOM XML 功效和 XSLT 功 能的文档。
PHPBuilder 的 PHP & Java 引见了若何装置和利用 PHP Java 模块。
PHP-XML 邮件列表由 O'Reilly Network 掌管。
请在“DB2 开辟者场地”里 Dan Scott 所著的文章中查找 若何 编 译 PHP 使其成为带 DB2 撑持的静态装入的 Apache 模块。
可以细心检查以下联机教程以懂得利用 PHP 和 XML 的代码示例。

PHPBuilder 有一些有关对 XML 停止语法剖析的佳作,包含使 用 expat 功效和 DOM XML:expat 的替换项。
phpWizard.net 中有一篇题目为 使 用 PHP 对 XML 停止语法剖析的好文章。
PHP Everywhere 有关于使 用 XML-RPC 的教程。
可从 Linux.com 上获得 有关利用 XML-RPC 的复杂示例。
Solutions 2001 开辟人员大会将于 8 月 13 日至 18 日在旧金山召开; 请在 AgendaBuilder 中搜刮或阅读 230 多个会议的描写。有两打以上的会议会萃中于 XML 及其相干手艺,包含:

理论: 将 XML 与 DB2 集成
理论: Voice XML 东西/构建绝佳使用法式
XSL 示例: XML 变换简介
使 用 Java 手艺对 XML 文档停止语法剖析和编程。

请列入内含 17 个有关开辟习气成绩的查询拜访,以便匡助 IBM 改善用于开辟软件使用法式的 XML 东西和办事。
  你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。
柔情似水 该用户已被删除
沙发
发表于 2015-2-4 13:09:04 | 只看该作者
爱上php,他也会爱上你。
莫相离 该用户已被删除
板凳
发表于 2015-2-9 23:03:14 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
地板
发表于 2015-2-17 17:13:37 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
兰色精灵 该用户已被删除
5#
发表于 2015-3-1 09:08:51 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
再见西城 该用户已被删除
6#
发表于 2015-3-7 09:08:22 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
若相依 该用户已被删除
7#
发表于 2015-3-14 16:02:55 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
admin 该用户已被删除
8#
发表于 2015-3-16 02:43:46 | 只看该作者
实践是检验自己会不会的真理。
透明 该用户已被删除
9#
发表于 2015-3-22 19:07:19 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
第二个灵魂 该用户已被删除
10#
发表于 2015-4-26 10:10:45 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
小妖女 该用户已被删除
11#
发表于 2015-4-28 03:46:45 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
灵魂腐蚀 该用户已被删除
12#
发表于 2015-5-3 22:11:26 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
乐观 该用户已被删除
13#
发表于 2015-5-10 20:37:21 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
飘灵儿 该用户已被删除
14#
发表于 2015-5-11 00:17:35 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
分手快乐 该用户已被删除
15#
发表于 2015-6-4 17:30:40 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
飘飘悠悠 该用户已被删除
16#
发表于 2015-6-25 14:26:05 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
因胸联盟 该用户已被删除
17#
发表于 2015-7-10 22:24:26 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
小女巫 该用户已被删除
18#
发表于 2015-7-18 17:18:24 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
愤怒的大鸟 该用户已被删除
19#
发表于 2015-7-20 01:24:41 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
若天明 该用户已被删除
20#
发表于 2015-10-2 10:37:38 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-28 16:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表