首页 > php教程 > php手册 > 正文

PHP开发必备PHP模版引擎Dwoo深入学习

php中文网
发布: 2016-06-21 08:54:54
原创
1577人浏览过

  【it168 专稿】在上一篇关于dwoo的教程中(php开发必备 一步步学php模版引擎dwoo),我们讨论了dwoo中的基本用法。在本文中,我们将进一步讲解在dwoo中的一些高级用法,比如插件机制的编写以及如何跟常见的php框架整合。

  一、Dwoo中模版的继承

  Dwoo的其中一个强大功能是它可以支持模版的继承。这实现起来是十分简单的,只需要定义好一个父模版,然后子模版则可以继承父模版了,并且可以在子模版中定义多种新的特性。聪明的开发者会善于利用这个特性,去减少重复的劳动。

  Dwoo中继承模版的关键在于“扩展”的插件机制,它允许模版去继承另外一个模版。为了更好地理解这一特性,我们举个例子说明如下。假设目前你已经有一个基类的模版,名字叫base.tpl,其中包含了两个区域,一个是导航区,一个是内容区,如下:

 

html>
  
head>head>
  
body>    
    {block "nav"}
    {/block}
    {block "content"}
    
div id="content">
    This is content for the main page.
    
div>      
    {/block}
  
body>
html>

  现在,假设你的一些页面需要使用水平导航条,你只需要继承基类模版页即可,并且可以重新定义导航条的样式,如下代码,我们把这个代码定义为child.tpl:

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

 

{extends "base.tpl"}
  {block "nav"}
    
div id="nav">
      
a href="#">Homea>
      
a href="#">Newsa>
      
a href="#">Weathera>
      
a href="#">Hotelsa>
      
a href="#">Dininga>
      
tr>
      
table>
    
div>
  {/block}

  这里使用了{extends “base.tpl”}指出是继承了父类的模版,并且在这里的{block “nav”}区域中,重写了导航条的内容,最后输出为如下图:

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

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

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

  

  现在我们考察另外一种情况,假设一些页面中需要额外的子导航菜单,比如需要以垂直形式显示导航条,这时,我们可以采用如下代码:

  extends "child.tpl"}

  {block "nav"}
    {$dwoo.parent}
    
    
div id="sub-nav">
      
h2>{$subtitle}h2>
      
ul>
      {loop $items}
          
li>a href="#">{$item}a>li>      
      {/loop}
      
ul>
    
div>    
  {/block}
  
  {block "content"}
    
div id="content">
    This is content for the Dining page.
    
div>
  {/block}

  在这里,使用了{$dwoo.parent}去调用了父类模版,注意这里是继承了child.tpl这个模版,也就是说,调用了父类模版中的导航条中的内容,并且这里又重新定义了一个垂直的导航条,注意这里还重写了content区域的内容,覆盖了父模版中对应的content区域的内容了,结果如下图:

  

  可以看到,只要适当使用模版继承,则可以大大方便开发。




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号