`

smarty学习笔记

    博客分类:
  • php
 
阅读更多

 

1.什么是smarty:smarty是用php开发的一个模板引擎,smarty提供了一种易于管理和使用的方法,将phph代码从HTML页面分离出来。

 

2.smarty注释:注释部分包含在"{*"和"*}"之间。而且注释部分不会被发送到客户端。而且在网页上查看源文件的时候看不到这些注释

 

3.普通变量和保留变量:

普通变量也就是我们自己定义的变量,它有3种来源方式:

a.在php程序中使用assign()方法定义的变量

<?php

$smarty = new Smarty();

$smarty->assign("name","value");

?>

 

b.在模板中直接定义的变量

{assign var="name" value="value"}

 

c.配置文件中的变量

 

保留变量$smarty——相当与$_request等方式一样,获取数据

{$smarty.get.username}

 

保留变量除了可以访问请求变量和系统环境变量一样,它还可以访问程序中的常量

<?php

define('CONST_MESSAGE','我是常量');

?>

之后在模板中使用{$smarty.const.CONST_MESSAGE}可以取出

 

 

4.foreach循环:

{foreach from=$arrayName item=varName key=index name=description}

{/foreach}

from——指定要循环的数组名称

item——指定当前数组内元素的变量名

key——指定当前数组索引的变量名

name——描述性文字

在使用foreach循环时,如果foreach循环为空或者不存在可以用foreachelse处理

{foreach from=$arrayName item=varName key=index name=description}

循环体

{foreachelse}

没有循环

{/foreach}

 

5.section循环

section循环和foreach一样也是循环数组中的数据,但是它提供了比foreach更多的属性来灵活控制循环的执行

{section name=varName loop=$arrayName start=startindex step=stepNum max=num show=booleam}

循环体

{/section}

 

name——指定当前section的名称

loop——指定循环的次数

start——指定循环开始的索引位置

step——循环的位移长度

max——循环的最大次数

show——指定是否显示当前的section

 

{section name=day loop=$week}

{$week[day]}

 

{sectionelse}

没有循环

{/section}

 

6.smarty包含文件:

{include file="header.tpl"}——用于包含静态页面或模板

{include_php file=""}——用于包含一个脚本,php文件

 

7.insert:用来包含php脚本的函数,它可以使模板中指定的部分不会被缓存

<?php

require("Smarty.class.php");

function insert_getDate(){

   return date("Y-m-d H:ms");

}

$smarty = new Smarty();

$smarty->display("sdfsdf.tpl");

?>

 

取出为:{insert name="getDate"}

 

7.模板的修饰符:

1》capitalize修饰符可以将指定变量中所有单词的首字母转换为大写

{$name|capitalize}——变量后用|隔开

 

2》count_characters修饰符用于计算变量中字符数

{$name|count_characters}

 

3》count_words修饰符用于计算变量中单词总数

{$name|count_words}

 

4》date_format修饰符用于对日期和时间进行格式化

{$data|date_format:"%H:%M:%S"}

 

5》default修饰符可以给变量指定一个默认的值

{$sex|default:"男"}

 

6》strip_tags修饰符可以用于过滤HTML标签,以增强程序的安全性

{$talk|strip_tags}

 

7》truncate修饰符可以用于截取指定数量的字符,默认情况下为80个

{$title|truncate:20:"..."}

 

 

 

[{$cr.create_time|date_format:"%Y-%m-%d %H:%M:%S"}]

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics