PHP开发必备 一步步学PHP模版引擎Dwoo(1)_PHP教程

php中文网
发布: 2016-07-20 10:56:47
原创
1055人浏览过

卡奥斯智能交互引擎
卡奥斯智能交互引擎

聚焦工业领域的AI搜索引擎工具

卡奥斯智能交互引擎 36
查看详情 卡奥斯智能交互引擎

php目前是使用最广泛的脚本解析动态语言之一。在php的开发当中,开发者都很关心的一个问题是,如何最大程度地将页面和商业逻辑分离。而目前的很多php的开发框架,在这方面都有很好的解决方案,比如zend,agavi,cakephp和codeigniter。然而,假如你的项目不是太大而没使用这些框架时,则可以选用一些开源的php模版引擎来实现页面和逻辑的分离,目前比较著名的有smarty。本文将介绍另一款新兴的php模版引擎dwoo,它同样有很多优点,值得读者去学习。

一、安装Dwoo

首先到Dwoo的官方网站下载(http://www.dwoo.org)最新的版本1.1.7。在下载后,解压dwoo,将解压目录命名为dwoo,当然,你也可以用pear的安装方法安装,方法为:

pear channel-discover pearhub.org

pear install pearhub/Dwoo

立即学习PHP免费学习笔记(深入)”;

二、Dwoo模版简介

在Dwoo中,跟象Smarty等模版引擎差不多的是,它允许用户用普通的HTML编辑工具编辑表现层的页面,然后在需要产生动态内容的地方用占位符表示。模版引擎在解析的时候,会把如数据库中的或者业余逻辑计算结果填充到这些占位符中。下面先看一个简单的例子。

我们先建立一个模版文件,Dwoo的模版文件默认是tpl,当然你也可以改为其他文件后缀。模版文件名为knock.tpl,把它保存在template文件夹中,内容为:

<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span class="tag-name">html</span><span class="tag">></span><span> </span></span></li><li><span class="tag"><</span><span class="tag-name">head</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">head</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span class="tag-name">body</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span class="tag-name">blockquote</span><span class="tag">></span><span> </span></li><li class="alt"><span>Knock knock! </span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span> </span></li><li><span>Who's there? </span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span> </span></li><li class="alt"><span>{$name} </span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span> </span></li><li><span>{$name} who? </span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span> </span></li><li class="alt"><span>{$punchline}  </span></li><li><span class="tag"></</span><span class="tag-name">blockquote</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"></</span><span class="tag-name">body</span><span class="tag">></span><span> </span></li><li><span class="tag"></</span><span class="tag-name">html</span><span class="tag">></span><span> </span></li></ol>
登录后复制

可以看到,在Dwoo中,模版文件中,把需要动态更替的内容用{$ }这样的形式包裹起来,作为占位符,占位符当中的内容到时会被自动更替为实际的内容。接下来看如何使用Dwoo,代码如下:

<ol class="dp-c"><li class="alt"><span><span><?php  </span></span></li><li><span class="keyword">include</span><span> </span><span class="string">'dwooAutoload.php'</span><span>;  </span></li><li class="alt"><span class="comment">// 创建dwoo实例 </span><span> </span></li><li><span class="vars">$dwoo</span><span> = </span><span class="keyword">new</span><span> Dwoo();  </span></li><li class="alt"><span class="comment">//读取模版文件  </span><span> </span></li><li><span class="vars">$tpl</span><span> = </span><span class="keyword">new</span><span> Dwoo_Template_File(</span><span class="string">'tmpl/knock.tpl'</span><span>);  </span></li><li class="alt"><span class="comment">// 对模版变量赋值 </span><span> </span></li><li><span class="vars">$data</span><span> = </span><span class="keyword">array</span><span>();  </span></li><li class="alt"><span class="vars">$data</span><span>[</span><span class="string">'name'</span><span>] = </span><span class="string">'Boo'</span><span>;  </span></li><li><span class="vars">$data</span><span>[</span><span class="string">'punchline'</span><span>] = </span><span class="string">'Don't cry, it's only a joke'</span><span>;  </span></li><li class="alt"><span class="comment">// 将实际内容输出到模版 </span><span> </span></li><li><span class="vars">$dwoo</span><span>->output(</span><span class="vars">$tpl</span><span>, </span><span class="vars">$data</span><span>);  </span></li><li class="alt"><span>?> </span></li></ol>
登录后复制

下面是使用Dwoo的几个步骤:

1、首先要包含Dwoo自动装载类dwooAutoload.php,这个类是自动加载了Dwoo模版所需要的其他依赖的类和工具类;

2、创建Dwoo类的实例;

3、通过new Dwoo_Template_File的方法加载模版,其中的参数为模版文件所在的路径;

4、设置要向模版文件中输出的替换内容,在Dwoo中,只需要通过定义一个关联数组的方法即可,数组中每个元素的名称跟模版文件中的占位符一一对应,数组中的每个值,就是要替换模版中的实际内容;

5、通过调用output方法,将数据向模版中输出,传入的参数为输出的数组内容和模版路径。

下图为输出结果:


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445812.htmlTechArticlePHP 目前是使用最广泛的脚本解析动态语言之一。在PHP的开发当中,开发者都很关心的一个问题是,如何最大程度地将页面和商业逻辑分离。...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号