php用smarty模板语法,Smarty模版设计基本语法

模版中的注释:

{* ……*}         //可以包括一行或多行,且注释内容不会在浏览页面源代码中查看到

由PHP分配的模版变量用$开始,可包含字母数字下划线。

在模版中访问关联数组有两种方式:用[],或者用 .

在模版中,使用Smarty的语法总结后只有两种:变量 和 函数

函数:

使用方法如同独立标签,函数名如同标签名,函数参数如同标签属性。

         //函数名,后跟参数

例如:{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作为第二个参数提供

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值