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


Posted in PHP onMarch 28, 2008

在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 相关文章推荐
require(),include(),require_once()和include_once()区别
Mar 27 PHP
自动把纯文本转换成Web页面的php代码
Aug 27 PHP
通过具体程序来理解PHP里面的抽象类
Jan 28 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 #PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 #PHP
php中文字符截取防乱码
Mar 28 #PHP
关于Intype一些小问题的解决办法
Mar 28 #PHP
php5中类的学习
Mar 28 #PHP
php一些公用函数的集合
Mar 27 #PHP
PHP之变量、常量学习笔记
Mar 27 #PHP
You might like
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
杏林同学录(五)
2006/10/09 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
PHP实现货币换算的方法
2014/11/29 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
jQuery实现6位数字密码输入框
2016/12/29 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
Python中函数的用法实例教程
2014/09/08 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python的pstuil模块使用方法总结
2019/07/26 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
Pycharm中如何关掉python console
2020/10/27 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
怎样写辞职信
2015/02/27 职场文书
中学图书馆工作总结
2015/08/11 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL