• 7467阅读
  • 5回复

[PHP]在PHP中使用"模板" [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-30
此模板非一般所说的模板,而是能简单地用DW等编辑网页的模板,后缀为HTML(不是HTML也行,但语法解析要解析为HTML)形式的PHP代码。
大家看一下下面这个简单的例子。

test.html

<!--
<?php print <<<BLOCK
-->
<html><title>{$title}</title>
<body bgcolor='#000000'>
<table>
<!--
BLOCK;
foreach($arr as $name => $value) {
print <<<BLOCK
-->
<tr>
<td>{$name}</td>
<td>{$value}</td>
</tr>
<!--
BLOCK;
}
print <<<BLOCK
-->
</table>
</body>
</html>
<!--
BLOCK;
?>
-->



首先,因为后缀是HTML,所以
用DW编辑的时候,它会以HTML语法来
处理,于是,PHP代码部分全被HTML注释符注释掉了。
于是,我们就能在DW中编辑HTML表现层了。
但是,它的使用,其实是被包含到另一个PHP文件中去了
,所以,实际上,它是被以PHP语法解析的,
HTML的注释语法和PHP的不一样,利用这个特点,
使得这个模板易于被编辑,但还能实现我们所要的功能。
需要注意的是,凡是PHP运行语句代码部分(非简单变量),我们都要以
HTML注释符括起来按照统一习惯,我们在HTML部分,
要遵循PHP字符串定界符的规则,
简单变量部分,要用花括号括起来。

下面我们来建立一个例子来运行一下看看效果。
建立一个PHP文件:
test.php

<?php
$title = "欢迎光临我的小屋啊,呵呵";
$arr = array("行1" => "行一值", "行2" => "行二值");
require_once("test.html");
?>


再看看实际输出的结果:

<!--
-->
<html><title>欢迎光临我的小屋啊,呵呵</title>
<body bgcolor='#FFFFFF'>
<table>
<!---->
<tr>
<td>行1</td>
<td>行一值</td>
</tr>
<!---->
<tr>
<td>行2</td>
<td>行二值</td>

</tr>
<!---->
</table>
</body>
</html>
<!---->





利用上面的技巧,我们可以用DreamWeaver或者
FrontPage打开这个文件,以可视化的方式来设计我们
表现层(网页界面),以此种可视化方式设计不同的
界面模板显然要比敲代码行高效得多。另外千万要注意,其
实际上不是单独运行的,是要被包含到其它的PHP代码中
来运行的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 1楼 发表于: 2005-07-30
模板以PHP语法形式呈现
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 2楼 发表于: 2005-07-30
模板以HTML语法呈现
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 3楼 发表于: 2005-07-30
模板以可视化方式呈现
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 4楼 发表于: 2005-07-30
如果单独运行模板文件也行,呵呵,只不过不是我们需要的样子
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 5楼 发表于: 2005-07-30
这种模板处理方式的好处是,不用自建或者利用已有的模板库,比较省力气,依赖性小,其不方便的地方是,实际上写模板的时候要注意的地方挺多的一个就是输出的页面里面,太多 的<!-- -->HTML注释符。

特别地,PHPWind论坛程序使用的就是这种模板处理方式。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个