当前位置:  编程技术>php

在Yii框架中使用PHP模板引擎Twig的例子

    来源: 互联网  发布时间:2014-08-26

    本文导语:  Twig是一款快速、安全、灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板。他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像。 比如我们在PHP中需要输出变...

Twig是一款快速、安全、灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板。他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像。 比如我们在PHP中需要输出变量并且将其进行转义时,语法比较累赘:

代码如下:



但是在Twig中可以这样写:
代码如下:

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}

遍历数组:
代码如下:

{% for user in users %}
  * {{ user.name }}
{% else %}
  No user has been found.
{% endfor %}

但是要在Yii Framework集成Twig就会遇到点麻烦了,官方网站中已经有能够集成Twig的方案,所以这里我也不再赘述。但是由于Twig中是不支持PHP语法的,所以在有些表达上会遇到困难,比如我们在写Form的视图时,经常会这么写:

代码如下:


    Login
   

     

  •    
                   

     

  •  


  •    
                   

     

  •  


  •     Login

     


   


但是这样的语法是没法在twig中表达的,所以想去扩展下Twig的功能,让他能够支持我们自定义的widget标签,然后自动解析成我们需要的代码。 总共需要两个类:TokenParser和Node,下面直接上代码:
代码如下:


然后在Twig初始化的地方增加我们的语法解析类:
代码如下:

$twig->addTokenParser(new Yii_WidgetBlock_TokenParser);

然后我们就可以在twig的模板里这么写了:
代码如下:

{% beginwidget 'CActiveForm' as form %}

     

  •     {{ form.label(model, 'username') }}
        {{ form.textField(model, 'username') }}
     

  •  

  •     {{ form.label(model, 'password') }}
        {{ form.passwordField(model, 'password') }}
     


{% endwidget %}

    
 
 

您可能感兴趣的文章:

  • 从零开始学YII2框架(一)通过Composer安装Yii2框架
  • PHP开发框架 Yii
  • 从零开始学YII2框架(四)扩展插件yii2-kartikgii
  • yii框架如何配置默认controller与action
  • 从零开始学YII2框架(三)扩展插件yii2-gird
  • yii框架配置默认controller和action示例
  • Yii Framework框架获取分类下面的所有子类方法
  • yii框架builder、update、delete用法示例
  • 从零开始学YII2框架(二)通过 Composer 安装扩展插件
  • yii框架builder、update、delete使用方法
  • yii框架通过控制台命令创建定时任务示例
  • 从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
  • yii框架如何通过控制台命令创建定时任务
  • 从零开始学YII2框架(六)高级应用程序模板
  • yii框架表单模型以数组形式提交表单数据
  • yii框架表单模型使用及以数组形式提交表单数据示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Yii 的 ExtJS 扩展 Ext4Yii
  • yii操作cookie实例简介
  • yii操作cookie方法示例
  • yii-ucenter
  • 站群管理系统 WOC-YII
  • Yii调试SQL的常用方法
  • 基于Yii的天气预报程序 XWeather
  • Yii的第三方ORM插件 YORM
  • yii操作session实例简介
  • YII实现分页的方法
  • Yii调试SQL语句常用方法有哪些?
  • 中文编码集合类库 yii-chinese
  • Yii 开源商城软件 YinCart
  • YII中assets的使用示例
  • YII分页方法(控制器与视图分页)
  • Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
  • Yii Framework 公告滚动条 Widget
  • yii上传文件或图片实例
  • YII路径使用方法汇总
  • YII模块实现绑定二级域名的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3