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 相关文章推荐
基于mysql的论坛(5)
Oct 09 PHP
增加反向链接的101个方法 站长推荐
Jan 31 PHP
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
php文本转图片自动换行的方法
Mar 13 PHP
php抽奖小程序的实现代码
Jun 18 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
php实现的九九乘法口诀表简洁版
Jul 28 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 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
VFP与其他应用程序的集成
2006/10/09 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
简单实现python爬虫功能
2015/12/31 Python
Python实现二维数组输出为图片
2018/04/03 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python实现126邮箱发送邮件
2020/05/20 Python
python zip()函数的使用示例
2020/09/23 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
Python中pass语句的作用是什么
2016/06/01 面试题
给排水专业应届生求职信
2013/10/12 职场文书
煤矿班组长的职责
2013/12/25 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
周一问候语大全
2015/11/10 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
Nebula Graph解决风控业务实践
2022/03/31 MySQL
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers