php之Smarty模板使用方法示例详解

php之Smarty模板使用方法示例详解

本文详细剖析了模板的使用方法,对于学习的朋友有一定的参考价值。详情如下:

一、模板中的注释

每一个模板文件,都是通过Web前台语言(xhtml,css和等)结合引擎的语法开发的。

用到的web前台开发的语言和原来的完全一样,注释也没有变化。

注释语法是’左结束符变量值*’和’*右结束符变量值’,在这两个定界符之间的内容都是注释内容,可以包含一行或多行,并且用户浏览网页查看原代码时不会看到注释,它只是模板内在的注释,以下是注释的例子。

$smarty->left_lelimiter='right_delimiter='}>';

注释:


二、模板中变量声明

在中一切以变量为主,所有的呈现逻辑都让模板自行控制。有几种不同类型的变量,变量的类型取决于它的前缀是什么符号或者被什么符号包围。变量可以直接被输出或者作业函数属性和修饰符的参数或者用于内部的条件表达式等



<bodybgcolor="">

如果在模板中输出从php中分配的变量smarty中使用php函数,需要在变量前面加$符号并用定界符将它括起来,命名方式和php的变量命名方式一样,并且定界标示符号又有点像是php中的(事实上它们确实会被替换成这个)

三、模板中输出从php分配的变量

在模板中经常使用的变量有两种:一是从php中分配的变量;另一种是从配置文件中读取的变量

注意:模板中只能输出从php中分配的变量,不能在模板中为这些变量重新赋值,变量都是全域的,只要分配一次就可以了,如果分配两次以上的话,变量内容会以最后分配的为主

中提供的或语句用于遍历输出数组中的每个元素php之Smarty模板使用方法示例详解,索引数组和关联数组在模板中输出的方式略有不同,索引数组在模板中的访问方式和在php脚本中的引用是一样的,关联数组中元素在模板中指定的方式是使用’.’访问的。

在模板中访问对象和php脚本中的方式一样,都是通过’->’这个运算符完成的。

四、模板中变量的数学计算

在模板中变量不能直接赋值,但可以参与数学运算,只要在php脚本中可以执行的数学运算都可以在模板中应用,如下所示:



bar-$bar[1]*$foo->bar-3*7}>

在模板中可以识别嵌入在双引号中的变量,但有的变量必须用反引号’`'(此符号和’~’在同一个键上)包住,如下所示:




五、模板使用示例:

第1步:加载模板引擎,如:’libs/.class.php’

第2步:创建对象,如:$=();

第3步:修改默认行为smarty中使用php函数,如:开启缓存、模板的存放路径等

第4步:将程序中取得的数据通过对象的()方法赋值给模板中相应的变量

第5步:用对象的()方法将模板内容输出

()方法:

这个方法用来给模板中的变量赋值,使用比较容易

原型:(,)

这个方法可以将php所支持的类型数据赋值给模板变量包含数组和对象

使用方式有如下两种:

//指定一对'名称/数值'
$smarty->assign('question','你好吗');
$smarty->assign('answer','不怎么好');
//指定包含'名称/数值'
$smarty->assign(array('question'=>'你好吗','answer'=>'不怎么好'));//这种方式比较少用

()方法:

基于的脚本中必须用到这个方法smarty中使用php函数php之Smarty模板使用方法示例详解,而且一个脚本中只能使用一次,它负责获取和显示由引擎引用的模板

原型:(

,

,

参数一:是必选的,指定一个合法的模板资源的类型和路径

参数二:指定一个缓存标识符的名称

参数三:在维护一个页面多个缓存时使用

使用方法如下

$->(‘tpl//.html’);

简单实例:

1、libs:是类库

2、tpl/:存放缓存模板

3、tpl/:存放编译后模板文件

4、tpl/:存放特殊配置文件

5、tpl/:存放模板文件

6、.php文件里new出了一个类对象,并设定各对象的属性值,如下代码

template_dir=SITE_ROOT.'template_dir';//存模板文件
$tpl->compile_dir=SITE_ROOT.'compile_dir';//存编译过的模板文件
$tpl->config_dir=SITE_ROOT.'config_dir';//存特殊配置文件
$tpl->cache_dir=SITE_ROOT.'cache_dir';//存Smarty缓存文件
$tpl->caching=1;//启用缓存
$tpl->cache_lifetime=60*60*24;//缓存时间1天
$tpl->left_delimiter='right_delimiter='}>';//右结束符

7、index.php文件首页代码如下

assign('title','title测试');
$tpl->assign('content','content测试');
$tpl->display('template.html');

8、tpl//.html这是一个模板文件代码如下











公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » php之Smarty模板使用方法示例详解

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们