smarty的配置使用

原创 2012年03月22日 00:09:19

smarty是一个老牌Php模板引擎,作用是程序和美工分离(还没遇到会用smarty的美工,还是自己整合),缓存技术减轻了服务器的处理压力。smarty缓存和页面静态化都是页面缓存技术,区别是smarty缓存是临时性的,静态化是永久性的,可以通过组合互补达到比较好的性能优化效果。而memcache是内存对象缓存系统,与前两种比不是文件级别的缓存,而是内存级别的缓存。

配置:

1、在smarty官网下载最新文件包: http://www.smarty.net/解压缩文件包放到项目目录下

2、新建一个php文件初始化smarty配置:

include_once("Smarty/Smarty.class.php"); //包含smarty类文件

$smarty = new Smarty(); //建立smarty实例对象$smarty

$smarty->config_dir="Smarty/Config_File.class.php";  // 目录变量

$smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存

$smarty->template_dir = "./templates"; //设置模板目录

$smarty->compile_dir = "./templates_c"; //设置编译目录

$smarty->cache_dir = "./smarty_cache"; //缓存文件夹

3、在使用smarty的地方引用该配置文件

使用:

变量的使用:
php文件
$smarty->assign("模板变量", "值(数组/变量)");
$smarty->display("模板名称");
htm文件
<html>
<title>{$name}</title>

常用变量操作符
capitalize [首字母大写] 
count_characters [计算字符数] 
cat [连接字符串] 
count_paragraphs [计算段落数]
count_sentences [计算句数]
count_words [计算词数]
date_format [时间格式]
default [默认]
escape [转码]
indent[缩进]
lower[小写 ]
nl2br[换行符替换成<br />]
regex_replace[正则替换]
replace[替换]
spacify[插空]
string_format[字符串格式化]
strip[去除(多余空格)]
strip_tags[去除html标签]
truncate[截取]
upper[大写]
wordwrap[行宽约束]

变量操作符使用语法
{$name|capitalize }
非常简洁的语法,没有多余的符号,哈哈

内置函数(判断循环神马的最常用了,你懂的)
1、判断
{if $name=='ok'}

{else}

{/if}

2、循环
{foreach from=$name item=id}
{$id}
{/foreach}

或

{foreach key=j item=v from=$name }
{$j}: {$v}
{/foreach}

3、包含(引用页面固定的头尾都会用到的啦)
{include file="header.htm"}

4、冲突处理(页面js用到大括号与smarty的大括号冲突怎么办)
{literal}
 <script language=javascript>
 </script>
{/literal}

literal数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本

另外,strip标记处理数据的首尾空格和回车,可以避免一些浏览器兼容性问题

smarty缓存的配置:

$smarty->cache_dir = "/caches/";  //缓存目录
$smarty->caching = true;  //开启缓存,为flase的时侯缓存无效
$smarty->cache_lifetime = 60;  //缓存时间

清除缓存:

$smarty->display('cache.tpl', cache_id);  //创建带ID的缓存

$smarty->clear_all_cache(); //清除所有缓存
$smarty->clear_cache('index.htm'); //清除index.tpl的缓存
$smarty->clear_cache('index.htm',cache_id); //清除指定id的缓存

神马是带ID的缓存,就是同一个模板页面会显示不同的内容,需要用id区别开来,生成不同的缓存文件。想ijiefang.com里面的商家首页,都是同一个模板,但每个商家的内容都不同,需要一个商家首页一个缓存文件。

局部缓存:

index.htm
<div>{insert name="get_time"}</div>


index.php
function insert_get_time(){
      return date("Y-m-d H:m:s");
}

或
{blockname}
没有缓存的:{$smarty.now}
{/blockname}



ecshop就是用的smarty模板,可以多看下源码。

总结结束,下次整理下页面静态化的实现。







ThinkPHP框架使用Smarty模板引擎

ThinkPHP框架使用Smarty模板引擎 原文  http://phpquan.com/lamp/php/thinkphp-smarty/ 主题 ThinkPHP 最近公司使用Thi...
  • flowerspring
  • flowerspring
  • 2016年09月23日 15:45
  • 2763

1.smarty3的安装和使用

写在前面: smarty 是什么,就不多说了,用过php,接触过php的人都对smarty 再熟悉不过了。它是一个很强大的代码分离软件,作为PHP的第三方类库引用到PHP项目中,将PHP代码和HTML...
  • yangyi2083334
  • yangyi2083334
  • 2013年07月13日 21:49
  • 2488

Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty)

Yaf结合自定义视图(模板)引擎smarty 入口文件:/public/index.php;在引导程序Bootstrap.php中定义自已的视图引擎Smarty(/application/Bootst...
  • dalaoadalaoa
  • dalaoadalaoa
  • 2015年08月02日 10:12
  • 2816

PHP中使用Smarty模板目录结构配置

接触一个新东西,往往搭建最初始的环境最让人捉急。 在使用PHP模板Smarty过程中,如果不涉及自定义目录结构的话,按照下面的目录组织就可以直接使用了(前提是需要阅读以下用户手册)。 ...
  • xinyuokla13524
  • xinyuokla13524
  • 2015年05月20日 14:26
  • 346

PHP使用Smarty模板目录结构配置

在使用PHP模板Smarty过程中,如果不涉及自定义目录结构的话,按照下面的目录组织就可以直接使用了(前提是需要阅读以下用户手册)。          图上的每个目录都有了相应的说明,关于...
  • dedecms8
  • dedecms8
  • 2014年06月06日 11:01
  • 655

Smarty3.1.18的配置和简单使用

1:首先下载Smarty包,地址有很多,这里就不说了 2:解压到apache的htdoc目录下,或者www目录,或者所使用的项目目录都可以 3:配置Smarty的一些基本参数,和Smarty同一目录下...
  • u010793761
  • u010793761
  • 2015年04月20日 16:48
  • 616

PHP中使用Smarty模板目录结构配置

Smarty 是PHP的一个模板引擎,是由Monte Ohrt 和 Andrei Zmievski 使用PHP语言开发的,发展至今已成为一个非常流行的模板引擎,Smarty 提供了一种易于管理和使用的...
  • ronzone
  • ronzone
  • 2017年03月24日 15:10
  • 1578

Smarty基本配置与使用

Smarty基本配置与使用感觉这种古董技术不适合现在的趋势。 但是因为目前要用到这方面的技能,所有就学习一下。 但是感觉smarty真心不如用直接用原生PHP好用。接下来还会陆续发Smarty的入...
  • zjiang1994
  • zjiang1994
  • 2017年01月02日 18:05
  • 800

PHP 中使用 Smarty 之二:配置文件在模板变量中的使用

配置文件在模板中的作用是:给前端设计页面定义变量,主要控制的是模板的外观,与 PHP 程序无关。         使用步骤:         1、使用 $tpl->configs_dir="目录"...
  • liruxing1715
  • liruxing1715
  • 2011年10月23日 12:22
  • 1172

PHP Smarty学习文档pgf,doc文档,从安装配置到入门实例

  • 2017年04月07日 13:43
  • 581KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:smarty的配置使用
举报原因:
原因补充:

(最多只允许输入30个字)