php heredoc和phpwind的模板技术使用方法小结_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的分离,但至少提供了一种辅助性的设计手段。

时间: 2024-09-24 15:04:51

php heredoc和phpwind的模板技术使用方法小结_php技巧的相关文章

PHP缓存技术的多种方法小结_php技巧

1.普遍缓存技术: 数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得. 用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表. 举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个字段中,需要的时候数组分解一下,这样的好处是只读一个表,坏处就是两个数据同步会

twig模板常用语句实例小结_php实例

本文实例讲述了twig模板常用语句.分享给大家供大家参考,具体如下: 最近写的静态页面需要套symfony模板,所以将使用到的twig模板语句做一个总结:希望能帮到初学者. 代码结构如下: {% extends '::l_sh_base.html.twig' %} //引入的base模板 {% block title %} //网页标题 商户中心-维修分类 {% endblock %} {% block stylesheets %} //引入的css或js文件 {{ parent() }} <l

PHP开发中AJAX技术的简单应用_php技巧

AJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google.我只是一个普通开发者,使用AJAX的地方不是特别多,我就简单的把我使用的心得说一下.(本文假设用户已经具有JavaScript.HTML.CSS等基本的Web开发能力) [AJAX介绍] Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法.Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax,用户可以创建接近本地桌面应用的直接.高可用.更丰富.更动态的Web用户界面. 异步J

PHP 程序员的调试技术小结_php技巧

本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP 中打开错误报告,以及通过在一个简单的 PHP 脚本中放置策略性的 print 语句,找到更困难的 bug 的源头.还会介绍用于 Eclipse 的 PHPEclipse 插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍 PHPEclipse 的 DBG 调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 p

smarty简单模板变量输出方法[原创]_php实例

本文简单讲述了Smarty的模板变量输出方法.分享给大家供大家参考,具体如下: config.inc.php配置文件如下: include_once('smarty/Smarty.class.php'); $smarty=new Smarty(); $smarty->config_dir="smarty/Config_File.class.php"; $smarty->caching=false; //是否开启缓存 $smarty->template_dir=&quo

PHP+SQL 注入攻击的技术实现以及预防办法_php技巧

1. php 配置文件 php.ini 中的 magic_quotes_gpc 选项没有打开,被置为 off 2. 开发者没有对数据类型进行检查和转义 不过事实上,第二点最为重要.我认为, 对用户输入的数据类型进行检查,向 MYSQL 提交正确的数据类型,这应该是一个 web 程序员最最基本的素质.但现实中,常常有许多小白式的 Web 开发者忘了这点, 从而导致后门大开. 为什么说第二点最为重要?因为如果没有第二点的保证,magic_quotes_gpc 选项,不论为 on,还是为 off,都有

php 用sock技术发送邮件的函数_php技巧

使用sock技术发邮件,无需服务器支持.速度快!!  复制代码 代码如下: function send_mail($to,$subject,$body)   {   /////////////Smtp信息,可以修改成你的,//////////      $loc_host = "longbill";        //发信计算机名,可随意     $smtp_acc = "longbill.mail";   //Smtp认证的用户名,     $smtp_pass 

Discuz 模板引擎的封装类代码_php技巧

主要功能说明 去掉了 Discuz 语言包的功能  移植 Discuz 模板中所有的功能  添加了自动更新缓存及生命周期功能  在模板中的使用方法跟Discuz的一样,所以就不做多余的说明了,使用前只需要做些简单的设置就可以了 如果需要使用discuz的语言包功能,只要去掉template.class.php第172行注释,并在template.func.php中加上discuz原来的languagevar函数就可以了 点击下载源文件 以下是代码范例: /** * 使用示例 * * @copyr

dedecms模板标签代码官方参考_php技巧

没想到dedecms可以这样DIY,牛啊 地址:http://www.dedecms.com/archives/templethelp/help/ 在了解DedeCms的模板代码之前,了解一下织梦模板引擎的知识是非常有意义的.织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记. 1.织梦模板引擎的代码样式有如下几种形式: