Smarty模板常见的简单应用分析


Posted in PHP onNovember 15, 2016

本文实例分析了Smarty模板常见的简单应用。分享给大家供大家参考,具体如下:

首先要将smarty这个类包含进来:

include_once '../libs/Smarty.class.php';

然后创一个Smarty对象:

$smarty = new Smarty;

可以自定义Smarty 的开始结束符,默认为{ }

$smarty->left_delimiter ='<<'; //左符号为 <<
$smarty->right_delimiter='>>'; //右符号 为 >>

最重要方法的好像是assign,如:

$smarty->assign('test',$te);
//将$test的值付给test,在模板页tpl中显示用{$test}

又如$arr=array(1,2,3);赋值仍是这样:

$smarty->assign('arr',$arr);

但在模板页显示时要借助foreach 或 section,foreach 用法如下:

{foreach item=item from=$arr key=ke name=foe}
 $item
{/foreach}
//此处的$item相当于$arr[$ke],foreach序列化{$smarty.foreach.foe.iteration}

而section 用法如下:

{section name='test' loop=$arr}
{$smarty.section.name.iteration}//使输出序列化,序号从1开始,index从0开始
{$arr[test]}
{/section}

最后最重要的一步操作千万不要忘记那就是:

$smarty->display('test.tpl');

下面说一些常用东西怎么样的在模板上显示

1.连接操作:

我叫{$str1|cat:"李白"};//输出结果就是:我叫 $str1 李白

2.当前日期:

{$str2|rdate_format:"Y%-m%-d%"} //输出结果格式化$str2日期,形如0000-00-00

3.缩进:

{$str3|indent:8:"*"}  //$str3前缩进8个* 默认缩进的是空格

4.大小写:

{$str4|lower} //$str4的小写形式
{$str4|upper} //$str4的大写形式

过滤:

{$url|escape:"url"} //对$url相关特殊字符进行替换
<tr bgcolor='{cycle values="#EBEBEB,#ACABAB"}'>//tr背景交替 颜色分别为#EBEBEB,#ACABAB

匹配替换:

{$str|regex_replace:"~[0-9]~":"asd"} //如果$str匹配[0-9]输出asd

替换

{$str|replace:"net":"com"} //将$str中的net全部替换成com

包含头模板文件:

{include file="top.tpl"}

调用time.inc.php里面的函数:

{insert name="getCurrentTime" assign="current_time" script="time.inc.php"}
  当前时间为{$current_time};
{/insert}

其中time.inc.php内容如下:

<?php
 function smarty_insert_getCurrentTime
 {
  return gmdate('l,j F Y g:i a T');//获得当前日期及时间
 }
?>

联系:

mailto{
mailto address="contact@smartyllc.com" subject="Smarty LLC Contact" encode="javascript"}

载入test.conf:

{conf_load file="test.conf" section="test"}
{#tt#}

test.conf内容如下:

[test]
tt = 12122

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
PHP中GET变量的使用
Oct 09 PHP
JS实现php的伪分页
May 25 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
php中自定义函数dump查看数组信息类似var_dump
Jan 27 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
Smarty日期时间操作方法示例
Nov 15 #PHP
Fleaphp常见函数功能与用法示例
Nov 15 #PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 #PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 #PHP
thinkphp的dump函数无输出实例代码
Nov 15 #PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 #PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 #PHP
You might like
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
python调用matlab的m自定义函数方法
2019/02/18 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
临床医师个人自我评价
2014/04/06 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
表彰大会新闻稿
2015/07/17 职场文书
vue打包时去掉所有的console.log
2022/04/10 Vue.js
MySql数据库 查询时间序列间隔
2022/05/11 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers