注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php 王建

php之路

 
 
 

日志

 
 

如何使用smarty?从入门到精通  

2011-08-06 15:17:08|  分类: php类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Smarty的使用及其事例说明

如何使用并且配置smarty

1:下载smarty的源码文件,下载之后 内部有一个lib目录,然后把这个目录copy出来之后,把他放到项目下,重新命名为smarty,里面的文件是

如何使用smarty?从入门到精通 - wangjian84075041 - 缘分天空、、

一般用到的是Smarty.class.php文件

2:我们都知道smarty最主要的是他有缓存,所以我们在项目的根目录下面新建几个文件夹

如何使用smarty?从入门到精通 - wangjian84075041 - 缘分天空、、

其中templates_c是编译目录。Templates是模版目录,caches是缓存目录,config是缓存目录。一般在大型的网站开发中都是这样的目录结构!

3:让我们在conf文件夹下面新建一个主配置文件,主要是设置一些samrty的一些属性操作。

让我们看下smarty的内容。

<?php

include_once  'smarty/Smarty.class.php';   //包含文件

$smarty = new Smarty(); 

$smarty->template_dir = "./templates/";  //模版的存储位置

$smarty->config_dir = "./conf/";  //模版的配置文件目录

$smarty->compile_dir = "./templates_c/";  //模版的编译目录

$smarty->cache_dir = "./caches/";  //定义模版的缓存目录

$smarty->caching = TRUE;   //是否进行缓存,在进行开发的时候尽量不要开启

$smarty->cache_lifetime = 60;    //生命周期

$smarty->left_delimiter = "{";   //左边的那个定界符

$smarty->right_delimiter = "}";  //右边的那个定界符

?>

在上面的最后2句的那个{}是自己可以随便进行制定的,根据你个人的喜好。

4:然后在根目录下面新建一个index.php文件,主要是进行加载模版文件。

<?php

  //header("Content-Type:text/html;charset=utf-8");

  include 'config/config.php';  //调用配置文件

 

  $smarty->assign("title","我来测试smarty");  //设置模版变量

  date_default_timezone_set("PRC");

  $time=date("Y-m-d H:i:s",time());

  $new1=array(

  "name"=>"我的标题1",

  "date"=>$time 

  );

  $shuzu[]=array("title"=>"新闻标题1","content"=>"这是新闻内容1");

  $shuzu[]=array("title"=>"新闻标题2","content"=>"这是新闻内容2");

  $shuzu[]=array("title"=>"新闻标题3","content"=>"这是新闻内容3");

  $shuzu[]=array("title"=>"新闻标题4","content"=>"这是新闻内容4");

  $shuzu[]=array("title"=>"新闻标题5","content"=>"这是新闻内容5");

  $shuzu[]=array("title"=>"新闻标题6","content"=>"这是新闻内容6");

  $shuzu[]=array("title"=>"新闻标题7","content"=>"这是新闻内容7");

  $smarty->assign("array",$new1);

  $smarty->assign("shuzu",$shuzu);

  //测试变量的使用

  $value="我来测试下变量操作符号的使用......";

  $smarty->assign("value",$value);

  $smarty->assign("time",time());

  $htm="<a href='www.baidu.com'>baiduu阿斯达岁的[</a>";

  $smarty->assign("biaoqian",$htm);

  //演示foreach的使用

  $name=array(1=>"张三",2=>"李四");

  $smarty->assign("name",$name);

  //if else 的使用

  $smarty->assign("i",100);

    //smarty缓存的使用

    

    $array=array("a"=>"php","b"=>"JAVA");

    $id=@$_GET['id'];

  

    $smarty->assign("id",$id);

    $smarty->assign("array",$array);

   

  $smarty->display("index.htm",$id);

 $smarty->clear_cache("index.htm");

?>

然后我们再看下模版文件index.htm(在templates目录下面进行新建)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

<title>{$title}</title>

</head>

<body>

<br />

姓名:{$array.name}<br/>

时间是:{$array.date}<br/>

下面遍历数组测试

<br/>

{*其中的那个loop就是数组名字,而name就是数组的下标*}

{section loop=$shuzu name="i"}

 循环的标题是:{$shuzu[i].title|truncate:8}  循环的内容是:{$shuzu[i].content}<br/>

{/section}

<br/>

<hr>

<center>变量操作符号的使用</center>

<br/>

原来的操作符号是:{$value}<br/>

下面让首字母大写<br/>

{*在这里要注意的是如果你想使首字母大写的话,必须是英文*}

{$value|capitalize}<br/>

下面进行在后面加上个字符串<br/>

{$value|cat:"加上个字符串...."}

<br/>

{$time|date_format:"%Y-%m-%d"}<br/>

{*当变量不存在的时候显示一个默认的值*}

当变量不存在的时候显示一个值<br/>

{$time1|default:"暂时没有时间"}

<br/>

下面进行转码,比如说一些htm标签之类的了<br/>

{$biaoqian|escape:"html"}

<br/>

下面进行缩进<br/>

在前面加上10个空格<br/>

{$biaoqian|indent:10:" "}

<br/>

屏蔽字符或者字符串<br/>

{$biaoqian|replace:"bai":"***"}<br />

{$biaoqian|strip_tags}<br/>

行宽约束<br/>

{$biaoqian|wordwrap:5:"<br>"}

<hr>

php内置函数的使用<br/>

下面演示foreach的使用<br/>

{*from指的是从哪个数组,key指的是键item指的是值*}

 <br/>

<table width="100" border="1">

<tr><td>编号  </td><td>姓名</td></tr>

{foreach from=$name key=k item=value}

<tr><td>{$k}</td><td>{$value}</td></tr>

{/foreach}

</table>

<br/>

<hr>

<br/>

下面测试包含文件的使用

<br/>

{include file="head.html" title="这是首页面的标题"}

<hr>

条件语句的使用<br/>

{if $i<10}

输入的值小于10

    {elseif $i==10}

     输入的===10

   

{else}

输入的值大于10

{/if}

<hr>

文本处理<br/>

{literal}

<script language="javascript">

function ss(){

alert("dd");

}

</script>

{/literal}

<input type="button" value="点击" onclick="ss()">

<hr>

去除空格<br/>

{strip}

<table>

<tr></tr>

<tr></tr>

<tr></tr>

</table>

{/strip}

<hr>

<center><h1>smarty缓存的使用</h1></center>

{foreach from=$array item=a key=k}

{$a}{$k}

{/foreach}

{$id}

</body>

</html>

说明:上面的index.php文件主要是进行定义数组,变量 设置模版变量和加载模版变量,缓存的使用和清除(根据传递的ID值进行清除)

  评论这张
 
阅读(2826)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018