php heredoc和phpwind的模板技术使用方法小结

yipeiwu_com6年前PHP代码库
在PHP的文档中,只是提到了echo可以使用如下命令输出多行字符串(而且其中的变量被自动替换):

PHP代码 
复制代码 代码如下:

echo <<<END    
This uses the "here document" syntax to output     
multiple lines with $variable interpolation. Note     
that the here document terminator must appear on a     
line with just a semicolon. no extra whitespace!     
END;   


上面的END结束符可以自己规定,在Phpwind,使用了“EOT”来结束。但是需要注意的是,这个END必须是在一行的开头才能有效,这其实是Heredoc技术的一个局限性(因为heredoc可以自定义结束符,所以引入了这个问题),在下面会提到。

phpwind的模板文件一般存放在templatewind目录下面,在BBS目录中,使用require语句包含这个模板文件。其实这个模板文件是作为对应的PHP文件的一部分执行的,所以就不需要像PHPLib Template那样需要进行模板解析,然后再执行的过程。

为了让heredoc的内容能被DreamWeaver这样的编辑器正确识别,以实现“所见即所得的”的网页设计,需要在heredoc中增加注释,示例文件如下:

PHP代码
复制代码 代码如下:

<!--     
<?php     
print <<<EOT     
-->     

<html>     
<head>     
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />     
<title>Untitled Document</title>     
</head>     

<body>     
<!--     
$name = '浅水游';     
print <<<EOT     
-->     

Hello,$name!     

<!--     
EOT     
print <<<EOT     
-->     

</body>     
</html>     

<!--     
EOT;     
?>     
-->    

这样的模板文件,其实就是一个标准的,可以执行的PHP文件。但是,这样的PHP文件,其HTML样式在DreamWeaver中可以正确的显示出来,所有的PHP代码会被看做HTML注释,而且在输出的时候,不会输出出来。比如,上面的文件在DreamWeaver中,被显示成:

PHP代码
复制代码 代码如下:

Hello,$name!     


这样,在设计页面的时候,我们就可以借助DW的可视化界面,进行一些界面的修改,美化等工作。尽管没有实现完全的代码和HTML的分离,但至少提供了一种辅助性的设计手段。

相关文章

PHP使用DirectoryIterator显示下拉文件列表的方法

本文实例讲述了PHP使用DirectoryIterator显示下拉文件列表的方法。分享给大家供大家参考。具体分析如下: PHP中使用DirectoryIterator显示下拉文件列表,要...

PHP中的多种加密技术及代码示例解析

PHP中的多种加密技术及代码示例解析

对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以 从加密密钥中推算出来。而在大多数的对称算法中,...

用PHP实现Ftp用户的在线管理

实现在线报名和上传作品的思路是利用网页表单收集用户填写的资料存储到Mysql数据库内,同时以该用户的注册名创建一个FTP上传账号并创建该用户的相应目录。   Ftp服务器是系统默认带的,...

Memcache 在PHP中的使用技巧

add($key, $value, $expiry); $key: 唯一标识, 用于区分写入的数据 $value: 要写入的数据 $expiry: 过期时间, 默认为永远有效 用途: 将...

基于PHP的cURL快速入门教程 (小偷采集程序)

基于PHP的cURL快速入门教程 (小偷采集程序)

最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。 为什么要用 cURL? 是的,我们可以通过其他办法获取网页内容。大多数时候,我因...