smarty的配置实用

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}

分类: PHP

标签: smarty的配置 smarty

时间: 2024-10-11 14:13:52

smarty的配置实用的相关文章

Smarty环境配置

Smaty优点:1.代码分离 2.缓存技术 使用步骤: 1.下载Smaty模板 2.将模板中那个lib文件夹复制到项目中(一般为根目录,并且重命名在此命名为Smarty), 3.配置PHP 1.新建一个Smarty_inc.php文件 2.输入 Include_once("Smarty/Smarty.class.php");//包含Smarty类 $smarty=new Smarty();//实例化Smarty对象 //配置 $smarty->config_dir="S

iPhone配置实用工具介绍

苹果提供了iTunes工具给我们操作iOS设备上的内容,可以安装应用.同步照片.音乐等等.不过iTunes使用比较麻烦,不太方便,第三方的iTools等工具是我们比较常用的.不过对iOS应用开发者来说,我们常常需要发布Adhoc版本,这些版本只能装在指定的一些设备里面,和通过AppStore发布的应用是不一样的,有时会发生iTunes/iTools死活安装不上应用的情况. 这里要介绍的iPhone配置实用工具也是苹果官方推出的一个简单的设备管理工具,它主要用于管理设备的应用与Provision

Smarty简单配置代码

Smarty配置 <?php define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录 //echo str_replace("\\","/",dirname(__FILE__))."/"; require ROOT.'libs/Smarty.class.php'; //加载Smarty

Nginx简介及配置实用

Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器: 支持的操作系统众多,windows.linux. MacOS X: 可实现负载均衡: Rewrite功能强大: 电商架构大部分都采用Nginx+应用服务器(如:Tomcat等web服务器)的架构. 目录说明 conf – 配置文件 contrib – 存放一些实用的工具 docs – 文档 html – 静态页面 logs – 日志 tmp – 临时目录 nginx.exe  主服务 使用(windows) 注:(nginx.e

Spark history Server配置实用

Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失败)而关闭,也就是说,Spark Application运行完(成功/失败)后,将无法查看Application的历史记录: Spark history Server就是为了应对这种情况而产生的,通过配置可以在Application执行的过程中记录下了日

centos7的网卡配置 实用经典总结

1.卸载netmanager yum  remove   NetworkManager 2.关闭防火墙: systemctl  stop  firewalld systemctl  disable  firewalld 3.关闭selinux sed -i '/SELINUX/s/enforcing/disabled/'/etc/selinux/config #开机关闭selinux 4.修改默认的网卡文件名 vim /etc/default/grub命令来编辑环境变量值. 并在变量GRUB_C

第八十七天请假 PHP smarty模板配置以及简单的调用方式

smarty模板的配置文件 <?php define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录 require ROOT.'smarty/Smarty.class.php'; //加载Smarty类文件 $smarty = new Smarty(); //实例化Smarty对象<br> $smarty->setTemplate

Eclipse和tomcat的配置-实用篇

本片介绍如何用Eclipse创建一个动态web项目并用tomcat部署启动服务. 前提: 1.下载Eclipse最新版本,现在的最夯版本是luna 2.下载tomcat最新版本,本篇用的版本是tomcat6.0.36 3.下载Eclipse的tomcat插件 3.1.下载com.sysdeo.eclipse.tomcat_3.3.1.jar 3.2.将com.sysdeo.eclipse.tomcat_3.3.1.jar复制到Eclipse目录下plugins\下 3.3.重启Eclipse 3

smarty初始配置,文件存放路径

<?php define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录.\\转义字符,将\转为/. //echo str_replace("\\","/",dirname(__FILE__))."/";//找到指定项目的目录 require ROOT.'libs/Smarty.class.