Smarty模版设计基本语法
- 2014-03-10 22:15:00
- admin 原创
- 4851
模版中的注释:
{* ……*} //可以包括一行或多行,且注释内容不会在浏览页面源代码中查看到
由PHP分配的模版变量用$开始,可包含字母数字下划线。
在模版中访问关联数组有两种方式:用[],或者用 .
在模版中,使用Smarty的语法总结后只有两种:变量 和 函数
函数:
使用方法如同独立标签,函数名如同标签名,函数参数如同标签属性。
<funcname attr1=”” attr2=”” attr3=””> //函数名,后跟参数
例如:{conifg_load file=”./conifgs/conifg.ini”} //载入脚本文件函数
块函数:
使用方法如同闭合标签。
{blockname attr1=”” attr2=”” }
内容
{/blockname}
变量:
Smarty模版中有3中变量应用形式:
1.从PHP中分配的变量(最主要的)
通过Smarty对象的assign()方法可将任意一种数据类型分配给模版使用。
在模版中调用PHP分配的变量需要在前面加上 $ 符号。 //即模版变量诞生在PHP中,再由模版调用
应用:在模版中输出从数据库服务器获取的动态数据信息。
2.从配置文件中读取的变量:
Smarty配置文件中的变量并不是通过PHP脚本去读取的,而是在Smarty模版中直接读取并应用的变量。
3.模版中的保留变量:
即模板已经定义好的内部默认变量,直接使用即可。
{$smary} 就是模板中的保留变量,并且是一个数组类型(二维数组)。
{$smary}变量是Smarty引擎自动已声明好的:
$smarty->assign(“smarty”, array( //第一个smarty是PHP脚本中创建的对象,可自定义;第二个smarty是Smarty引擎默认设定的保留变量,不可改变
“get”=>$_GET,
“post”=>$_POST,
“now”=>time(),
…………
)
);
使用如:$smarty.now 即time()
从配置文件中读取变量
过程:在模版文件中先加载配置文件,再使用当中的变量
配置文件的语法格式:
#注释内容 #使用#号表示注释
变量名=“value” #配置文件不是PHP脚本,所以变量名无 $ 符,结尾无 ; 号,值用双引号括起来,默认为全局变量
[节名] #定义节的名字,以下都是该节中的局部变量
变量名=“value” #本节中的局部变量,覆盖同名的全局变量
变量名=““”很长的
一个
字符串“”” #使用三个引号“”“可以将一个字符串声明在多行
注:在节中声明的变量都是局部变量,在节之外的项都认为是全局的。
配置文件在window下用.ini为后缀名,在Linux下用.conf为后缀名。
加载配置文件
必须先用内建函数 conifg_load 将配置文件加载到模版中才能发文配置变量。
{config_load file=”配置文件名称” } //只能加载配置文件中的全局变量
{config_load file=”配置文件名称” section=“节名”} //加载配置文件中的特定节中的局部变量
在模板中引用配置文件中的变量
配置文件中的变量要用两个#括起,或者用smarty模版的保留变量$smarty.config 来调用
即 {#配置变量名#} //主意没有$符号!
{$smarty.config.配置变量名} //主意没有$符号!
在Smarty模板中的变量调节器
即在模板中用变量调节器函数,在变量输出之前进行一些处理修改。
使用方式:
{$变量|调节器函数名:”参1″:”参2″:”参3″} //参数由冒号隔开
{$变量|调节器函数1|调节器函数2|调节器函数3}
Smarty默认提供的变量调节器函数
这里值写几个常用的:
date_format //日期格式化
escape //转码
Regex_replace //寻找和替换正则表达式
truncate //从字符串开始处截取某长度的字符
Smarty的缓存技术
1.开启缓存
2.指定缓存文件存放目录
3.设置缓存时间周期
$smarty -> caching = 1; //启用缓存
$smarty -> setCacheDir(“./cache”); //指定缓存文件保存的目录
$smarty -> cache_lifetime = 60*60*24*7; //设置缓存时间为1周
$smarty -> display(‘index.tpl’, $_SERVER[‘REQUEST_URI’]); //将新闻ID作为第二个参数提供
版权声明:本站原创文章,转载请注明作者和出处。