美文网首页
smarty模板引擎

smarty模板引擎

作者: 老衲灬 | 来源:发表于2018-07-17 19:50 被阅读17次

一、模板引擎的工作原理

1、实现HTML代码和PHP代码简单分离,完全去除视图文件中的PHP标记
2、常用PHP模板引擎介绍

1)Smarty,是模板引擎鼻祖。其它的模板引擎都是基于Smarty开发的。
2)Template Lite
3)TinyButStrong
4)XTemplate
5)Savant
6)phemplate
7)Dwoo
8)Sugar
9)Twig,symfony框架默认的模板引擎;
10)FXL Template
11)H2o
12)ns-template
13)Blade:laravel框架默认的模板引擎。

二、Smarty快速入门

1、Smarty是什么?

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

2、Smarty配置

1)Smarty左右定界符配置
a、在Smarty中,默认使用 "{" 和 "}" 作为变量的定界符。但这样,会与CSS、JS中的大括号冲突。
b、左定界符:$smarty->left_delimiter = "string"
c、右定界符:$smarty->right_delimiter = "string"

2)Smarty常用目录配置

三、Smarty模板(视图)中的变量

1、Smarty普通变量

1)PHP中的所有变量,都可以在视图文件中使用;
2)使用 $smarty->assign()向Smarty模板传递普通变量;
3)使用 $smarty->display()显示指定的视图文件;
4)在Smarty模板中,使用"[ ]"或点"."来访问数组元素;
5)在Smarty模板中,使用"->"来访问对象的属性和方法。

2、Smarty保留变量

1)Smarty页面请求保留变量
a、{$smarty.get}访问$_GET数组
b、{$smarty.post}访问$_POST数组
c、{$smarty.request}访问$_REQUEST数组
d、{$smarty.cookie}访问$_COOKIE数组
e、{$smarty.session} 访问$_SESSION数组
f、{$smarty.server}访问$_SERVER数组
g、{$smarty.files} 访问$_FILES数组
2)访问PHP的预定义常量
语法:{$smarty.const.预定义常量}
3)Smarty时间戳保留变量
语法:{$smarty.now}

3、Smarty配置文件变量

1)配置文件变量概述
网站上有一些比较简单的变量信息,美工人员可以自行定义并调用。这样可以脱离程序员的依赖,工作比较有主动权。
2)定义配置文件
a、配置文件默认目录:./configs
b、设置配置文件目录:$smarty->setConfigDir()
c、读取配置文件目录:$smarty->getConfigDir()
d、配置文件扩展名:.ini.conf
e、配置文件中注释:#
f、配置文件变量分组:[ ]
g、语法格式:配置名 = 变量值
h、变量不带$符号,变量值不带引号
3)访问Smarty配置文件变量
a、载入配置文件:{config_load file = “配置文件路径”}
b、语法格式一:{#配置文件变量名#}
c、语法格式二:{$smarty.config.配置变量}

4)配置文件分组
载入分组配置文件变量:{config_load file = “配置文件路径” section = “分组名”}

四、Smarty循环——foreach

1、foreach语法格式

1)语法格式1:{foreach $arr as $key=>$value} {/foreach}
2)语法格式2:{foreach from=$myarr key="mykey" item="myitem"}{/foreach}
3)提示:foreach可以遍历所有类型的数组,包括:枚举数组、关联数组、混合数组。

2、foreach常用属性应用

1)@key:输出当前值的索引,可能是整型索引,也可能是字符索引;
2)@index:当前数组索引,从0开始计算;
3)@iteration:当前循环的次数,从1开始计算;
4)@first:当首次循环时,值为true;
5)@last:当最后一次循环时,值为true;
6)@total:是整个循环的次数,可以在foreach内部或外部使用;

稍作变换:

五、Smarty循环——section循环

1、section语法格式

1)Section循环就是PHP中的for循环。
2)PHP中的for循环对于foreach来说,有什么特点?
3)for循环可以控制循环起点,而foreach不可以;如:$i = 1$i = 3
4)for循环可以指定步长值,而foreach不可以;如:$i += 2$i += 3
5)for循环可以控制循环次数,而foreach不可以;如:$count = 10$count = 5

2、简单示例:

六、Smarty条件判断——if语句

1、if中运算符

七、Smarty变量调节器

1、Smarty变量调节器概述

1)变量修饰器可以用于格式化变量;
2)使用修饰器,需要在变量的后面加上|(竖线)并且跟着修饰器名称。
3)修饰器可能还会有附加的参数以便达到效果。
4)参数会跟着修饰器名称,用:(冒号)分开。
5)同时,默认全部PHP函数都可以作为修饰器来使用 (不止下面的),而且修饰器可以被联合使用。
6)修饰器可以作用于任何类型的变量,数组或者对象。

2、Smarty中常用变量调节器
3、truncate调节器参数及应用

1)smarty中的truncate调节器,对应PHP的substr()函数或mb_substr()函数。
2)substr()函数是按字节截取字符串;
3)mb_substr()函数是按字符截取字符串,但需要开启PHP的扩展。

相关文章

  • 2018-05-11Smarty模板引擎

    Smarty(模板引擎) 一、什么是模板引擎? Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外...

  • Smarty模板

    PHP模板引擎 该文档使用的是Smarty 3.1.33 Released版本 什么是PHP模板引擎? php模板...

  • Smarty 模板函数

    最近工作中用到 Smarty 模板引擎,整理了一些用到的模板函数。 假设 smarty 的定界符为 {}。 模板中...

  • smarty模板引擎

    一、模板引擎的工作原理 1、实现HTML代码和PHP代码简单分离,完全去除视图文件中的PHP标记 2、常用PHP模...

  • Smarty模板引擎

    模板引擎的作用是什么 对PHP语言熟悉的程序员就会知道有个Smarty的名词,那么这个具体是什么呢?smarty是...

  • smarty模板引擎

    1)、模板引擎概念 ❖ 模板引擎的功能是实现逻辑与显示相分离,使程序设计者可以专注于程序功能的开发,使网页设计师专...

  • Smarty模板引擎

    Smarty

  • Smarty--(2)创建配置文件

    完成Smarty配置工作是应用Smarty模板引擎的关键。config.php 下面,我们来一一解读1.defin...

  • 微擎模板引擎

    $this->template('xxx')说明 类似smarty模板引擎 1、如果写在模块的前台方法functi...

  • 第一章 Jade模板引擎课程简介

    1-1模板引擎: 将动静部分糅合的一种机制或者技术 1-2流行的模板 PHP:Smarty SimpleTempl...

网友评论

      本文标题:smarty模板引擎

      本文链接:https://www.haomeiwen.com/subject/icbgpftx.html