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 和 MySQL 基础教程(三)
Oct 09 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
eaglephp使用微信api接口开发微信框架
Jan 09 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
php实现读取内存顺序号
Mar 29 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
PHP 闭包详解及实例代码
Sep 28 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
一个图形显示IP的PHP程序代码
2007/10/19 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
Python获取任意xml节点值的方法
2015/05/05 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
超实用的 30 段 Python 案例
2019/10/10 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
八项规定对照检查材料
2014/08/31 职场文书
依法行政工作汇报
2014/10/28 职场文书