欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-27 17:14:24
在php的文档中,只是提到了echo可以使用如下命令输出多行字符串(而且其中的变量被自动替换): php代码 复制代码 代码如下:echo <&l...
在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的分离,但至少提供了一种辅助性的设计手段。