您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

WAP与PHP程序设计之基础篇

2024/11/11 11:18:57发布15次查看
wap的发展离不开其www的底蕴,毕竟,整个wap协议的制定参照了www的模型,并且尽可能地沿用了internet的诸多标准和技术,如wml语言脱胎于html与xml,wmlscript与传统的脚本语言也很相似。的确,wap虽然是个新名词,但是它却与传统的国际互联网密不可分地结合着,在结构上如此,在技术上更是如此。
在wap协议中提到wap页面所使用的标记语言为wml,当需要进行较高级的操作,如使用终端机的某些资源时,可以使用wmlscript脚本语言,这两种语言很简单,甚至可以用简陋来形容,特别是它们对数据库的操作几乎无能为力,这种缺陷与wap广阔的商务和应用前景格格不入,但我们并不是无能为力的,由于wap和www的交融,我们仍然可以使用www的技术与资源来解决数据库的访问问题,因为毕竟多数数据库仍处于有线网络内。
目前最流行的网页编程语言和数据库的搭配是什么?相信很多人会说出php与mysql这两个名字。它们属于www或者有线互联网的范畴,由于使用方便与功能强大的特点而美名传播,那么它们能够为wap服务吗?答案是肯定的。不熟悉wap或者php的人或许有些不解,毕竟在传统意义上php提供的是www的内容与服务,对于wap,它们能兼容吗?
php粗解
看了wap的介绍,大家应该开始逐步理解php为何仍能为wap服务了。php与html、wml、javascript、java都不一样,它是在服务器端运行的,而javascript、java等都运行在浏览器端,相对于wap,wmlscript运行于客户机端,但是,以上的这些语言都可以很容易与php结合起来。
php具有很大的灵活性,在www中,它可以生成所需要的任何html代码,甚至javascript代码。同样,在wap中,我们仍然可以利用php这种动态、灵活的特点,生成任意的wml代码,这样,php自然能够为wap服务。
之所以使用php来提供wap服务,除了它灵活的特点外,还由于php可以方便的使用数据库。用户可以使用php存取oracle、sybase、ms sql、mysql、dbase、informix等任何支持odbc标准的数据库,这点正好迎合了wap商务的需求。
在实用中,一般需要建立php文件,当用户向服务器发出浏览该php文件的请求时,服务器将根据文件中的代码产生相应的html或wml内容,并发送给浏览器或wap终端。
如想获取关于php的信息,可以前往http://www.php.com查看。
php-wml
php的系统平台、工作方式、安装方法,这些都不在本文的讨论范围内,毕竟我们的重点是php如何与wap协作。一般而言,为了能让php工作,我们需要带有php模块的web服务器,或者说支持php的服务器,apache是世界上最流行的web服务器,另外,我们还需要安装php软件以及如mysql这样的数据库,具体内容可以查阅相关书籍或网站。下面我们讨论如何让php产生wml代码。
在www中,php产生的第一行内容往往是: content-type: text/html
但是,wap终端是读不懂这样的标题的。wap终端从服务器下载的单位是deck,浏览的单位是card,一般一个deck就组成一个wml文件。那么,为wap服务时,php文件中往往需要包含如下的代码:
header(content-type:text/vnd.wap.wml);
echo <xml version=\1.01>\n
echo<! doctype wml public \-//wapforum//dtd wml 1.1//en\\http://www.wapforum.org//dtd//wml_1.1.xml\>\n;
以上三行代码产生了wml文件(deck)的文件头,这样wap终端就可以识别所下载的deck是否wml格式,并且接着显示余下的deck内容。
下面是一个最简单的deck,它在wap终端上显示hello world。
<?xml version=1.0 encoding=iso-8859-1?> <! doctype wml public -//wapforum//dtd wml 1.1//en http://www.wapforum.org//dtd//wml_1.1.xml>
</xml>
<!--nokia parser info:phone = nokia 7110; height = 90; width = 130; currentdecksize = 38; maxdecksize = 1600; cardsoneachline = 5; cardsverticalgap = 30-->
</card id=card1 ordered=true newcontext=false>
<p align=left>
hello world
</p>
</card>
</wml>
我们建立的相应的php文件如下:
<?php
header(content-type:text/vnd.wap.wml);
echo <?xml version=\1.0\>\n;
echo <!doctype wml public \-//wapforum//dtd wml 1.1//en\ \http://www.wapforum.org//dtd//wml_1.1.xml\>\n;
echo \n;
echo <!--nokia parser info: phone = nokia 7110; height = 90; width = 130; currentdecksize = 38; maxdecksize = 1600; cardsoneachline = 5; cardsverticalgap = 30-->\n;
echo <card id=\card1\ ordered=\true\ newcontext=\false\> ;
echo <p align=\left\>\n;
echo hello world;
echo </p>;
echo </card>;
echo </wml>;
?>
我们可以将该文件存为index.php3,当wap终端浏览该网站时,web服务器会自动根据index.php3的内容产生如上所列的wml内容,并发送给网关进行处理。wap终端收到该deck后,将会在显示屏上显示hello world的字样。
以上是关于php在wap中最简单的应用,它只是简单地产生若干行wml代码,并没有牵扯到数据库的访问。其实,php强大的功能可以为wap提供很丰富的服务,而最值得挖掘的就是其强大的数据库支持,这些将在以后的文章中讨论。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product