smarty模板引擎的整理

经常使用PHP模板引擎介绍
smarty,是全部PHP模板引擎的老祖宗,其它PHP模板引擎都是基于Smarty进行的二次开发。
Template Lite
TinyButStrong
XTemplate
Savant
phemplate
Dwoo
Sugar
Twig
FXL Template
H2o
ns-template
Bladephp

Smarty就是php开发的模板引擎
Smarty就是一个类文件数组

Smarty下载和目录结构
这里写图片描述
第1个Smarty案例
这里写图片描述
这里写图片描述缓存

Smarty的经常使用配置
1修改左右定界符。
Smarty变量的左右定界符,默认是”{和}”。可是能够修改。
这里写图片描述
修改Smarty的左右定界符
这里写图片描述bash

Smarty经常使用目录的配置
设置和读取视图文件目录:ide

设置:$smarty->setTemplateDir(目录名)
读取:$smarty->getTemplateDir(),结果是一个数组。

设置和读取配置文件目录:函数

设置:$smarty->setConfigDir(目录名)
读取:$smarty->getConfigDir()

设置和读取编译目录3d

设置:$smarty->setCompileDir(目录名)
读取:$smarty->getCompileDir()

设置和读取缓存目录code

设置:$smarty->setCacheDir(目录名)
读取:$smarty->getCacheDir()

Smarty.class.php的构造方法,已经初始化了相关目录设置orm

这里写图片描述
修改视图文件的工做目录
这里写图片描述
举例说明
这里写图片描述server

Smarty中的变量
1普通变量
除了资源外,其余变量在视图文件均可以使用。视图文件中,通常不会有对象变量的。
这里写图片描述
2保留变量
1 )访问九大超全局数组变量
保留变量,就是Smarty中规定好的变量,好比:九大超全局数组变量,预约义常量,时间戳等。
保留变量,不须要经过控制器项视图传值,直接在视图中获取保留变量。
这里写图片描述
注意:$smarty变量是固定的,表明当前Smarty对象。
这里写图片描述
访问PHP预约义变量
这里写图片描述
Smarty时间戳
这里写图片描述
Smarty配置文件变量
定义配置文件(./Home/Conf/myConfig.ini)
有一些简单的变量,前段人员能够自行定义并调用,不须要经过控制器向视图传值。
设置配置文件的工做目录:

$smarty->setConfigDir(目录名)

读取配置文件的工做目录:

$smarty->getConfigDir(),返回一个数组。

Smarty配置文件的扩展名,通常以 .ini 或 .conf 结尾。
配置文件中的注释为:#
这里写图片描述
在试图文件中,如何访问配合变量
这里写图片描述

配置文件变量分组
使用中括号[],对配置文件中的变量进行分组。
这里写图片描述
在视图文件读取分组的配置变量
这里写图片描述

Smarty中的循环——foreach
一、foreach语法格式
Foreach能够循环全部类型的数组:枚举数组、关联数组、混合数组。
这里写图片描述
实例:输出一维数组
这里写图片描述
实例:输出二维数组
这里写图片描述

foreach的经常使用属性应用
@key:输出当前值的索引,多是整型索引,也多是字符索引;
@index:当前循环的次数,从0开始计数;
@iteration,当前循环的次数,从1开始计数;
@first:当首次循环时,值为true;
@last:当最后一次循环时,值为true;
@total:是整个循环的次数,能够在foreach内部或外部使用;
这里写图片描述
Smarty中的循环——section
Section概述和语法结构

section循环,就是PHP中的for循环。
for循环只能循环枚举数组。Section也只能循环枚举数组。
for循环能够指定循环起点。如:$i =4
for循环能够指定循环步长值。如:$i+=5
for循环能够指定最大循环次数。

这里写图片描述
实例:遍历一维枚举数组
这里写图片描述
实例:遍历二维枚举数组
这里写图片描述
实例:控制步长、起始点、循环次数
这里写图片描述
Smarty中的条件判断——if
if概述和三种语法结构
这里写图片描述

if中的运算符
大部分PHP中的运算符,能够在Smarty中直接使用。
这里写图片描述
实例:if的简单应用
这里写图片描述
实例:表格隔行变色
这里写图片描述
这里写图片描述
Smarty中的变量调节器
变量调节器概述
变量调节器,就是格式化的函数。
Smarty中提供了一些经常使用的函数,PHP全部函数在Smarty中均可以正常使用。
这里写图片描述
经常使用变量调节器
这里写图片描述

upper:转成全大写字母,对应PHP的strtoupper()函数。
lower:转成全小写字母,对应PHP的strtolower()函数。
nl2br:将”\n”转成”<br />”换行号。对应PHP的nl2br()函数。
replace:查找替换。对应PHP的str_replace()函数。
date_format:时间戳格式化函数,对应PHP的date()函数。
truncate:截取子字符串。对应PHP的substr()和mb_substr()函数。
substr()是按字节截取。一个汉字3个字节。
mb_substr()是按字符载取。一个汉字是1个字符,一个字母也是1个字符。

这里写图片描述
date_format调节器的参数及应用
描述:对时间戳进行格式化输出。
语法:{$smarty.now|date_format:格式化参数}
这里写图片描述
这里写图片描述
truncate调节器的应用
描述:截取字符串到指定长度,默认长度是80. 第二个参数可选,指定了截取后代替显示的字符。 截取后的字符长度是截取规定的长度加上第二个参数的字符长度。 默认truncate会尝试按单词进行截取。若是你但愿按字符截取(单词可能会被截断),须要设置第三个参数TRUE。
语法:{$str|truncate:截取长度:代替显示的字符}
truncate默认对应的PHP的函数是substr(),是按字节截取。
如何让truncate按字符截取?去PHP的配置文件中开启php_mbstring.dll扩展。
这里写图片描述
这里写图片描述

相关文章
相关标签/搜索