当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP编程在WAP开发中的应用

PHP
PHP 开发环境的选择、建立及使用(5)
PHP 开发环境的选择、建立及使用(6)
PHP 开发环境的选择、建立及使用(7)
PHP 开发环境的选择、建立及使用(8)
PHP 开发环境的选择、建立及使用(9)
Win2003下APACHE PHP5 MYSQL4 PHPMYADMIN 的简易安装配置
PHP新手上路(八) 文件上传
PHP新手上路(九) 投票系统
PHP新手上路(十) 简易banner动态更替
PHP新手上路(十一) 数据库链接
PHP新手上路(十二)使用PHP来操作Oracle数据库
PHP新手上路(十三)PHP资源
PHP新手上路(十四) 其他杂项
session全教程(一)
session全教程(二)
session全教程(三)
PHP编码规范
第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15]
第十四节--命名空间 -- Classes and Objects in PHP5 [14]
第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]

PHP编程在WAP开发中的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 126 ::
收藏到网摘: n/a

我们可以使用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\" \"http://www. wapforum.org/DTD/wml_1.1.xml\">\n\n");

?>

<?

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

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

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

?>