PHP编程在WAP开发中的应用

网络整理 - 08-09
我们可以使用PHP来编写WAP程序,比如开发动态的WML页面,不过条件是需要将输出的标签或语句限制在WAP微型浏览器可接受的范围之内。而且,PHP 还可以在一个HTML(及HDML)文件中编写出既适合于HTML(及HDML),也适合于WML的内容。PHP的源代码对于WAP客户端来说是不可见的,所以我们可以针对HTML浏览器输出HTML页面,而针对WAP浏览器输出HDML页面或WML页面。

11.3.1 基本规则

以WML为例,使用PHP编写WML程序的基本规则如下:

(1) 使用“<?”和“?>”来包含PHP编写的WML程序行,格式为:

<?

……(程序行);

?>

(2) 程序行语句均以分号( ; )结尾,这是与ASP编写WML程序不同的地方。

(3) 使用PHP的header关键字来声明WML的文件类型,基本格式为:

header("Content-type: text/vnd.wap.wml");

上述格式是专为WAP浏览器识别而采取的书写格式。如果开发中用户想使用普通的浏览器,如IE浏览器来测试程序效果,则可在该语句的前面加上双斜线(//),格式为:

// header("Content-type: text/vnd.wap.wml");

这样,基于PC的浏览器将忽略程序中无法理解的WML标签,这时当前的程序实际上成为了HTML页面。当想在WAP设备或者模拟器上测试的时候,只需要去掉“//”,当前页面就会自动变成WML页面。

(4) 其他WML标签和语句行一律使用PHP的echo关键字来声明,每个WML行的后面加上换行符“\n”(根据需要,也可加多个)。其基本格式为:

echo("……(WML标签和语句行)\n");

例如,下面的语句就是PHP编写WML语句行的典型例子:

echo("<?xml version=\"1.0\"?>\n");

而且,echo语句中的“WML标签和语句行”可以连写,以节省程序代码行。例如,下面的一行语句就连写了WML的3行标签语句:

echo ("<wml> <card> <p>");

(5) 声明脚本语言。这是对PHP编程的继承,向编译器声明当前程序采用的脚本语言为PHP,格式为:

<script language="PHP">

不过这一句可以省略,因为编译器能够自动识别PHP的脚本程序。

(6) 文件最后保存时采用的扩展名为“.php”或“.php3”,而不是“.wml”等扩展名。

根据上述规则,我们可以用PHP编写出WML页面的文件头,并让程序在WAP浏览器中显示“Hello, World!”,代码如下:

以下为引用的内容:

<?

header("Content-type: text/vnd.wap.wml");

echo("<?xml version=\"1.0\"?>\n");

echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \" wapforum.org/DTD/wml_1.1.xml\">\n\n");

?>

<?

echo ("<wml> <card> <p>\n");

echo ("Hello, World!\n");

echo ("</p> </card> </wml>\n");

?>