发布于 2017-07-31 11:08:22 | 102 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Smarty模板引擎

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


这篇文章主要介绍了Smarty模板常见的简单应用,结合实例形式分析了Smarty模板的引入、创建、设置及相关的常见使用技巧,需要的朋友可以参考下

本文实例分析了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程序设计有所帮助。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务