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 相关文章推荐
10条PHP高级技巧[修正版]
Aug 02 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
PHP实现获取文件mime类型多种方法解析
May 28 PHP
PHP的imageTtfText()函数深入详解
Mar 03 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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
PHP分页详细讲解(有实例)
2013/10/30 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
php和html的区别点详细总结
2019/09/24 PHP
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
详解vue-cli3使用
2018/08/14 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
数据库面试要点基本概念
2013/10/31 面试题
公司部门司机岗位职责
2014/01/03 职场文书
美食节策划方案
2014/05/26 职场文书
教师节横幅标语
2014/10/08 职场文书
走群众路线学习笔记
2014/11/06 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android
Golang实现可重入锁的示例代码
2022/05/25 Golang