• Smarty模本引擎


    封装一个自定义Smarty引擎

    Smart模板注释  基本语法:{* 注释内容 *}

    Smarty模板中的变量

    简单变量

    四种标量类型:整型浮点型布尔型字符串型

    数组变量

    可以给模板分配一个数组变量使用(一维和多维都可以)

    对象变量

    我们同样的可以将一个对象变量分配给模板文件,然后通过{$对象名->属性名}来访问这个对象的属性值!

    变量调节器

    基本语法

    不同的调节器有不同的名字,可以完成不同的功能,并且不同的调节器都有自己不同的参数!

    {$变量名|调节器名:参数1:参数2:参数3……}

    cat

    作用:主要是对两个字符串进行连接操作!

    {$变量名1|cat$变量名2|cat$变量名3}

    date_format

    作用:对时间戳进行格式化!参数有很多,但是主要的参数还是代表年月日时分秒的参数!

    {$变量名(时间戳)|date_format:‘%Y-%m-%d %H%M%S}

    default

    作用:当一个变量为空或者没有定义的时候,默认的就以default后面的值进行填充!

     {$变量名|default:值}

    lower upper

    作用:将字符串里面的英文字母全部转换成小写或大写!

    {$变量名|lower}

    {$变量名|upper}

    escape

    作用:加上这个调节器后,浏览器就不会解析相关的html等标签!

     {$变量名|escape}

    strip_tags

    作用:去掉jshtml等相关的标签!

    {$变量名|strip_tags}

    nl2br

    作用:将字符串中的 转换为<br />标签,从而在显示的时候真正的实现换行的效果

    {$变量名| nl2br}

    replace

    作用:将变量中的字符串1全部替换成字符串2

    {$变量名| replace:字符串1:字符串2}

    tring_format

    作用:讲字符串进行格式化!比如:%d代表整型,%s代表字符串!

    {$变量名| string_format:%d}

    truncate

    作用:只截取前多少多少的字符,后面用…代替!

    {$变量名|truncate:字符串长度:’…’}

    注意:

    1, 这的…是默认结束符,可以省略!

    2, 这里的…占用字符串指定的长度!

    3, 这里的结束符也可以使用用户指定的字符串

    4, 如果实在不想显示任何的结束符,可以使用null代替

    5, 也可以省略字符长度,默认为80个!

    6, 截取中文的时候容易出现乱码:

    Smarty系统变量

    也叫作Smarty保留变量,就是Smarty系统自己已经定义好了,不需要用户手动分配给模板,可以直接在模板文件中使用的变量!

    常用的有以下的几个:

    {$smarty.get.变量名称}      相当于PHP中的$_GET

    {$smarty.post.变量名称}    相当于PHP中的$_POST

    {$smarty.cookies.变量名称}   相当于php中的$_COOKIE

    {$smarty.session.变量名称}   相当于php中的$_SESSION

    {$smarty.now}        相当于php中的time函数,返回一个当前时间的时间戳!

    Smarty的内置语句

    foreach

    基本语法

    {foreach from=数组名 item=元素的值的名 key=元素的键名 name=名称}

      {foreachelse}

    {/foreach}

    主要功能:用于数组元素的遍历!

    from要遍历哪个数组元素(必选项)

    item系统每次将遍历的结果放入到变量item中(必选项) 

    key键名

    name给本次foreach遍历起一个名字

    foreach中的内置变量

    $smarty.foreach.name.index:  代表循环的索引值,默认是从0开始,其中的name就是在foreach选项中给foreach循环起的一个名字!也就是说,如果想使用foreach内置变量,就必须先给foreach循环起一个名字!

    $smarty.foreach.name.iteration循环迭代,代表当前是第几次循环,默认从1开始!

    $smarty.foreach.name.total:  代表本次一共循环了多少次!

     

    include

    基本语法:  {include file=文件名 变量名=变量值}

    主要功能:实现文件加载,常用于网页布局

    ifelseifelse 

    literal标签

    基本语法

    {literal} 

    ……

    {/literal}

    主要的功能就是把被包裹的标记当做普通文件直接输出,也就是不会被smarty解析,主要用于包裹jscss标签!

     

  • 相关阅读:
    一个网站的诞生 MagicDict开发总结8 [页面优化 能省一点是一点]
    一个网站的诞生 MagicDict开发总结6 [划词 检索]
    一个网站的诞生 MagicDict开发总结4 [如果有阶层数据库就完美了]
    一个网站的诞生 MagicDict开发总结9 [日语单词检索策略]
    一个网站的诞生 MagicDict开发总结10 [第一阶段的检索流程]
    一个网站的诞生 MagicDict 网站源码
    一个网站的诞生 MagicDict未来予想図1 [水平分割数据表的构想]
    一个网站的诞生 MagicDict开发总结3 [日语字典数据结构]
    一个网站的诞生 MagicDict开发总结5 [检索候补列表的生成]
    xcode 4 制作静态库
  • 原文地址:https://www.cnblogs.com/czhd666/p/6193535.html
Copyright © 2020-2023  润新知