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

 更新时间:2008年03月28日 22:58:45   作者:  
Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind就是一个典型的例子。
在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中使用数组实现堆栈数据结构的代码

    PHP中使用数组实现堆栈数据结构的代码

    堆栈是一种数据结构的实现形式,是广泛用来存取数据的一种容器
    2012-02-02
  • 超强多功能php绿色集成环境详解

    超强多功能php绿色集成环境详解

    本文主要介绍了超强多功能php绿色集成环境,文中所使用的是PHPWAMP这款绿色的集成环境,集成VC运行库。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • PHP数组常用函数实例小结

    PHP数组常用函数实例小结

    这篇文章主要介绍了PHP数组常用函数,结合实例形式总结分析了php针对数组的统计、计算、去重、过滤等相关函数使用技巧,需要的朋友可以参考下
    2018-08-08
  • PHP优化之批量操作MySQL实例分析

    PHP优化之批量操作MySQL实例分析

    这篇文章主要介绍了PHP优化之批量操作MySQL,结合实例形式对比分析了PHP批量操作MySQL相关实现技巧与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 如何判断php数组的维度

    如何判断php数组的维度

    本篇文章是对判断php数组维度的代码进行了详细的分析介绍, 需要的朋友参考下
    2013-06-06
  • php使用pear_smtp发送邮件

    php使用pear_smtp发送邮件

    这篇文章主要介绍了php使用pear_smtp发送邮件的相关资料,内容很丰富,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • php基础知识:控制结构

    php基础知识:控制结构

    php基础知识:控制结构...
    2006-12-12
  • php实现获取近几日、月时间示例

    php实现获取近几日、月时间示例

    这篇文章主要介绍了php实现获取近几日、月时间的方法,结合实例形式分析了PHP日期时间相关的date_default_timezone_set时区设置、date与mktime时间计算、转换等操作技巧,需要的朋友可以参考下
    2019-07-07
  • 深入浅出理解PHP原理之变量赋值

    深入浅出理解PHP原理之变量赋值

    将会对变量赋值过程中,PHP内部对数据处理的原理进行阐述,不过在讲述该原理前,需要先了解一下变量名和它的值是如何关联起来的,这个对变量赋值的理解非常重要
    2021-09-09
  • php批量添加数据与批量更新数据的实现方法

    php批量添加数据与批量更新数据的实现方法

    这篇文章主要介绍了php批量添加数据与批量更新数据的实现方法,涉及针对表单的处理与sql语句的灵活使用,非常具有实用价值,需要的朋友可以参考下
    2014-12-12

最新评论