smarty的知识点总结

smarty模板技术

一、smarty的优点,作用。
实现了前台页面和后台逻辑的分离。在比较大的项目中,将php程序员和美工设计人员分离。

二、smarty相关知识点:
1)如何在使用smarty模板,使用模板的步骤
1、安装smarty(将smarty安装包中的libs文件夹拷贝到服务器目录下即可)
2、用include()引入smarty.class.php,创建smarty对象。(初始化)
3、更改相关的配置(模板的编译文件、配置文件及缓存的路径以及界定符)
4、是否开启缓存,及缓存生存时间的设置。smarty->caching=true;
5、为模板变量分配值(常量,变量,数组以及对象)
6、显示模板

2.创建smarty模板
模板本质是html静态页面,包含html的所有实体及smarty本身的对象。(变量,变量修改器(capitalize|default...),内建函数(if  foreach  section insert...))
变量:
(1)输出php分配的变量(php文件通过assign方法给模板分配变量)
普通变量:直接用变量名输出($smarty->assign('*',变量))
普通变量:直接用变量名即可输出
          (例子:)
数组变量:
        索引数组:<{$array[index(索引值)]}>
        关联数组:<{$array.key}>
        混合数组:<{$array.key[index(索引值)]}>  <{$array[index].key}>
对象变量:<{$stu->attribute(方法)}>
          对象的方法调用
(2)从配置文件得到相应的变量
     首先将配置文件写到相应的文件夹(configs文件夹)配置文件(本质是记事本文件*.conf)的写法:
#注释
#全局变量
变量名=变量值(非字符类直接写、字符类的加‘...’或'...'、大段字符包括段落标记等)
#局部变量
【局部变量】//声明局部变量的作用域
变量名=变量值(非字符类直接写、字符类的加‘...’或'...'、大段字符包括段落标记等)
Name='李四';
注意:局部变量的变量名一般会包括在全局变量中,如果饮用时加上作用域,那么局部变量中的同名变量将替换全局变量中的同名变量。如果引用了作用域,而引用的变量在域中没有定义(如age)那么这个变量则引用全局变量中的相应内容

用法:在模板中引入配置文件(config_load file='配置文件名称' section=域)在模板中配置文件中的变量读取:#变量名# 或$smarty.config.变量名

(3)不用分配直接输出(smarty的保留变量)
二.内建函数(if foreach section insert  include config_load)
//根据不同的选择值制作出不同的显示内容(页面排版)
1)<{if 条件}>语句 <{elseif 条件}> 语句2
<{else}>语句3  <{/if}>
//遍历数组
2)<{foreach name=循环名称 from=要被遍历的数组名 item=当前数组的值 key=键值}>
<{/foreach}>
3)<{section name=循环名称 loop=要被遍历的数组名}>
<{$array[循环名称].关联数组的索引(关联数组)}>
<{$smarty.section.sectionname.index}>--是相当于foreach中的key当前的键值
<{$smarty.section.sectionname.total}>--总共遍历的次数
<{/section}>

<{include file="模板的名称"}>//将已有的模板包含进来
//网页中包含固定的头或为的时候,可以将一个完整的html进行分割,组合之后必须符合html的语法
//分隔一
<html>          头 include file='head.tpl'
<head>
<title></title>
</head>
<body>
//分隔二
... ...         身体 include file='conent.tpl'
//分割三
</body>          尾 include file='wei.tpl'
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值