smarty 模板几个例子

一、assign和display方法的使用以及几个变量调节器

header("content-type:text/html;charset=utf-8");
//加载Smarty引擎文件
include "./smarty/Smarty.class.php";

//连接数据库,提取相关数据
$title = "Smarty 模板引擎";
$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎";

//实例化Smarty
$smarty = new Smarty;

//通过assign方法给模板文件分配变量
$smarty->assign(‘title‘,$title);
$smarty->assign(‘content‘,$content);
//给模板分配一个数组变量使用
$person = array(‘自来也‘,33);
$smarty->assign(‘person‘,$person);

//给模板分配一个对象变量使用
class Person{
public $name;
public $age;
}
$per = new Person;
$per->name = ‘辉夜‘;
$per->age =555;

$smarty->assign(‘per‘,$per);

/** 变量调节器
*所谓的变量调节器其实就是变量修饰器,就是对PHP分配过来的变量加以“修饰”,也就是进行相关的格式化操作!然后再进行输出!
*不同的调节器有不同的名字,可以完成不同的功能,并且不同的调节器都有自己不同的参数!
{$变量名|调节器名:参数1:参数2:参数3……}
*
*如date_format
*作用:对时间戳进行格式化!参数有很多,但是主要的参数还是代表年月日时分秒的参数!
*{$变量名(时间戳)|date_format:‘%Y-%m-%d %H:%M:%S’}
*/
$time = time();
$smarty->assign(‘time‘,$time);

//去掉js和html等相关的标签!strip_tags
$str = ‘<b>六道</b>‘;
$smarty->assign(‘str‘,$str);

/**
*nl2br
*{$变量名| nl2br}
*作用:将字符串中的\n转换为<br />签,从而在显示的时候真正的实现换行的效果!
*/

$str1 = "广州市\n天河区";
$smarty->assign(‘str1‘,$str1);

/**truncate
*{$变量名|truncate:字符串长度:’…’}
*作用:只截取前多少多少的字符,后面用…代替!
*/
$str2 = "广州市天河区广州市天河区广州市天河区广州市天河区";
$smarty->assign(‘str2‘,$str2);

//通过display 方法替换模板中的标记并输出
$smarty->display(‘./templates/index1.tpl‘);

index1.tpl文件

<html>
<head>
<title>测试</title>
</head>
<body>
{*这里是注释内容,不会显示在浏览器端*}
{$title}<hr />
{$content}<hr />

{*模板标记是一个数组*}
姓名:{$person[0]}<br />
年龄:{$person[1]}<hr />

{*模板标记是一个对象*}
姓名:{$per->name}<br />
年龄:{$per->age}<br />

{*变量调节器 date_format 格式如下*}
变量调节器 date_format:{$time|date_format:‘%Y-%m-%d %H:%M:%S‘}<br />

{*变量调节器 strip_tags 格式如下*}
{$str|strip_tags}<br />

{*变量调节器 nl2br 格式如下*}
{$str1|nl2br}<br />

{*变量调节器 truncate 格式如下*}
{$str2|truncate:10:‘...‘}<br />
</body>
</html>

二、foreach遍历数组测试以及if elseif 例子

header("content-type:text/html;charset=utf-8");
//加载Smarty引擎文件
include "./smarty/Smarty.class.php";
//实例化Smarty
$smarty = new Smarty;

$arr = array(‘name‘=>‘辉夜‘,
‘age‘=>‘333‘,
‘home‘=>‘月亮‘,
‘son‘=>‘六道‘
);
$smarty->assign(‘arr‘,$arr);

$day = 4;
$smarty->assign(‘day‘,$day);
//通过display 方法替换模板中的标记并输出
$smarty->display(‘./templates/foreach.tpl‘);

foreach.tpl 文件

<html>
<head>
<title>foreach遍历数组测试</title>
</head>
<body>
{*
{foreach from=数组名 item=元素的值的名 key=元素的键名 name=名称}
{foreachelse}
{/foreach}

主要功能:用于数组元素的遍历!
from:要遍历哪个数组元素(必选项)
item:系统每次将遍历的结果放入到变量item中(必选项)
key:键名
name:给本次foreach遍历起一个名字

*}
{foreach from=$arr item=‘value‘ key=‘key‘ name=‘name1‘}
{$key}=>{$value}<br />
{/foreach}

{if $day==1}
星期1
{elseif $day==2}
星期2
{elseif $day==3}
星期3
{elseif $day==4}
星期4
{elseif $day==5}
星期5
{else}
周末
{/if}

</body>
</html>

时间: 2024-10-18 18:34:35

smarty 模板几个例子的相关文章

smarty 模板几个例子(变量调节器)

一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎文件include "./smarty/Smarty.class.php"; //连接数据库,提取相关数据$title = "Smarty 模板引擎";$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎"; /

smarty模板基础2

Smarty自带了一些内置函数,这些内置函数是Smarty模板引擎的组成部分.他们被编译成相应的内嵌PHP代码,以获得最大性能. 您创建的自定义函数不能与内置函数同名,也不必修改这些内置函数. 其中一些具有assign属性,用来收集函数结果,并将结果分配给一个命名的模板变量,而不是将内容输出,类似于{assign}函数. 一.{if}{elseif}{else} 条件 随着一些特性加入到模版引擎,Smarty的{if}语句与php的if语句一样富有弹性.每一个{if}必须与一个{/if}成对出现

smarty模板学习备忘

smarty模板引擎.基于MVC开发,实现m.v的分离. assign.display.template.template_c等名词的意思. 引入smarty核心类文件.这个类作用实际就是把一些模板文件的标签翻译成php代码.然后交给web服务器. 翻译的过程,display()这个函数,利用了正则去解析模板标签. 补充一个正则替换的例子. <?php $str = "123abc888dd001cc";// 把三个数字的前边和后边加上== echo preg_replace('

smarty模板学习备忘1

smarty模板引擎.基于MVC开发,实现m.v的分离. 一个libs的smarty库.创建模板和编译后的文件夹. assign.display.templates.templates_c等名词的意思. 引入smarty核心类文件.这个类作用实际就是把一些模板文件的标签翻译成php代码.然后交给web服务器. 分配assign,实则是向$smarty对象的一个数组属性里塞值. 翻译的过程,display()这个函数,利用了正则去解析模板标签,转化成了php代码. 补充一个正则替换的例子. <?p

php教程之Smarty模板用法实例

分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语言(xhtml,css和javascript等)结合Smarty引擎的语法开发的.用到的web前台开发的语言和原来的完全一样,注释也没有变化.Smarty注释语法是'左结束符变量值*'和'*右结束符变量值',在这两个定界符之间的内容都是注释内容,可以包含一行或多行,并且用户浏览网页查看原代码时不会看

smarty模板内容

Smarty自带了一些内置函数,这些内置函数是Smarty模板引擎的组成部分.他们被编译成相应的内嵌PHP代码,以获得最大性能. 您创建的自定义函数不能与内置函数同名,也不必修改这些内置函数. 其中一些具有assign属性,用来收集函数结果,并将结果分配给一个命名的模板变量,而不是将内容输出,类似于{assign}函数. 一.{if}{elseif}{else} 条件 随着一些特性加入到模版引擎,Smarty的{if}语句与php的if语句一样富有弹性.每一个{if}必须与一个{/if}成对出现

smarty模板引擎入门教程

smarty模版是比较大众化的一个模版,在php开发过程当中被很多开发者视为最友好的模版之一,学习smarty课程对于很多培训机构来说也是列入了培训课程之一,那么很多方面就需要我们学习了一. 安装首先打开网页http://smarty.php.net/download.php,下载最新版本的Smarty.解压下载的文件(目录结构还蛮复杂的).例如:(1) 我在根目录下建立了新的目录learn/,再在learn/里建立一个文件夹smarty/.将刚才解压缩出来的目录的libs/拷贝到smarty/

smarty模板基础3 *缓存数据*

缓存数据,这个并不是暂存的缓存,而是写入了内存的缓存 通过一个例子来书写:缓存数据 一.书写php和html页面的基本功能 既然是用smarty模板,那么前端和后端要分开写了 (1)php页面 <?php $filename = "../cache/huancun.html"; //这个是放缓存的页面(缓存的不是代码,而是页面的源信息) include("../init.inc.php"); //引入入口文件 include("../DBDA.php

smarty模板基础

smarty模板的作用可以让前端和后端分离(也就是前端的显示页面和后端的php代码). smarty模板的核心是一个类,下载好的模板中有这么几个重要的文件夹 (1)libs核心文件夹(2)int.inc.php这是入口文件(3)plugins:自己写的插件文件夹(4)templates_c:存放编译好的文件(5)int.inc.php这是入口文件(6)定义好常量:不能修改 一.如何实现前后分离的原理:核心是一个类1.左分隔符{2.右分隔符}3.数组(默认空数组):存储变量 4.提供一个方法:向模