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

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

Smarty下载和目录结构

第1个Smarty案例

Smarty的常用配置
1修改左右定界符。
Smarty变量的左右定界符,默认是”{和}”。但是可以修改。

修改Smarty的左右定界符

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

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

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

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

设置和读取编译目录

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

设置和读取缓存目录

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

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


修改视图文件的工作目录

举例说明

Smarty中的变量
1普通变量
除了资源外,其他变量在视图文件都可以使用。视图文件中,一般不会有对象变量的。

2保留变量
1 )访问九大超全局数组变量
保留变量,就是Smarty中规定好的变量,比如:九大超全局数组变量,预定义常量,时间戳等。
保留变量,不需要通过控制器项视图传值,直接在视图中获取保留变量。

注意:$smarty变量是固定的,代表当前Smarty对象。

访问PHP预定义变量

Smarty时间戳

Smarty配置文件变量
定义配置文件(./Home/Conf/myConfig.ini)
有一些简单的变量,前段人员可以自行定义并调用,不需要通过控制器向视图传值。
设置配置文件的工作目录:

$smarty->setConfigDir(目录名)

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

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

Smarty配置文件的扩展名,一般以 .ini 或 .conf 结尾。
配置文件中的注释为:#

在试图文件中,如何访问配合变量

配置文件变量分组
使用中括号[],对配置文件中的变量进行分组。

在视图文件读取分组的配置变量

Smarty中的循环——foreach
1、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扩展。

smarty模板引擎的整理相关推荐

  1. smarty.class.php,自定义min版smarty模板引擎MinSmarty.class.php文件及用法

    本文实例讲述了自定义的min版smarty模板引擎MinSmarty.class.php文件.分享给大家供大家参考,具体如下: 一.smarty的优点 smarty是一个使用PHP写出来的模板引擎,是 ...

  2. cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门

    cms概述 为了找到一个合适的cms网站系统,我花了一番功夫搜索了多种cms,包括我用过的和没用过的,知道的和不知道的,当然,必须是开源的.免费的.生成静态页面的.到各自的官方网站,查看了有关资料,下 ...

  3. smarty模板引擎原理解析

    //php 控制器文件 <?php //引入模板引擎文件 include("20130304.php"); $smarty = new TinySmarty(); $qq_n ...

  4. CodeIgniter_2.2.0整合smarty模板引擎

    CodeIgniter_2.2.0整合smarty模板引擎 转载于:https://blog.51cto.com/murongwenxian/1605204

  5. 深入浅出之Smarty模板引擎工作机制(一)

    深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...

  6. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  7. php 模板引擎 优点,Smarty模板引擎的优点

    Smarty模板引擎的优点 时间:2015-11-17 对PHP语言熟悉的程序员就会知道有个Smarty的名词,那么这个具体是什么呢?smarty是一个使用PHP编写的PHP模板引擎,是目前业务最著名 ...

  8. 正则表达式 php 模板,PHP中正则表达式回顾(4)--编写一个非常简单而且山寨的smarty模板引擎...

    PHP的正则表达式今天就结束了,遥想几年前初次接触的时候,感觉这玩意真心玩不转啊,而时至今日,感觉这也没有什么难以理解的,确实还是有很大进步的,尤其是对smarty模板引擎有了一个更为清晰的认识.正则 ...

  9. smarty模板引擎

    今天学习一下Smarty模板引擎,做了一个小demo 1.引用官方的Smarty文件,官方网站:http://www.smarty.net/   文件:下面链接地址有提供 2.配置相关Smarty信息 ...

最新文章

  1. 财务需要学python-8年老财务:财务分析学python就能提高效率?一半人是骗子
  2. Java-POI操作excel遇到文本字符问题处理
  3. simple-android-flux,深入浅出Flux
  4. 一款可留言的恋爱计时HTML源码
  5. 黑科技DeepFake检测方法:利用心跳做信号,还能「揪出」造假模型
  6. 中职计算机课程教学,提高中职计算机课程教学效率的途径
  7. GA-T1400协议--人脸数据
  8. 二代测序 下载 NCBI sra 文件
  9. 〖教程〗Winrm远程命令/WinrmCmd/端口复用后门/Windows密码爆破
  10. php解密抖音小程序用户手机号/字节跳动小程序thinkphp
  11. c语言航标知识点,书摘:迷惘时的航标——“人生哲学”
  12. [转载] 晓说——第32期:抗战史上最悲壮一幕 淞沪战役(上)
  13. python-matplotlib-箱线图为不同的箱体设置不同颜色
  14. #Lost My Music 凸包+链表倍增优化 凉宫春日的忧郁
  15. 最通俗易懂的冒泡排序原理
  16. 在Redmond见到我的偶像Anders
  17. 我的世界mod整合包java_我的世界1.10.2mod大全+整合包+合集
  18. 怎样在一台电脑里访问其他电脑里的虚拟机
  19. L_TO_CREATE_POSTING_CHANGE
  20. 应届毕业生程序员该去甲方公司,还是外包公司?

热门文章

  1. 汇编指令和机器码在线转换工具
  2. linux无线网卡0583,linux下如何安装无线网卡驱动
  3. WR703N路由器资料
  4. 骰子地下城简体中文破解版 v1.0绿色免安装版
  5. “光驱不见了”的解决方法
  6. 怎么在电脑上找到自己安装的软件的安装包
  7. 《数据库技术原理与应用教程(第2版)》——导读
  8. SimpleDateFormat日期格式
  9. 虚拟机同步器用易语言怎么写_开学了家长寄语怎么写?用便签软件辅助很简单...
  10. vue监听物理返回键事件