转:http://www.freexz.com/exe/view/index.php/id_210.html
Smarty 缓存设置
smarty 是一款很优秀的模版,学php的phper 肯定都对它有所了解
今天就简单的把 这几天学的东西写在这里 备忘
一 : 基础设置
Smarty缓存的配置 $smarty->cache_dir = "/caches/"; //缓存目录
$smarty->caching = true; //开启缓存,为flase的时侯缓存无效
$smarty->cache_lifetime = 60; //缓存时间
二:cache_id 设置
很多时候 需要 向文件传递变量,但当我们以下方法
<?php
$smarty->display("news.html");
?>
在这种情况下 所有的 news.html 将会从缓存调出
也就是说 news.php?id=5 和news.php?id=6 是一个缓存页面
在这种情况下 就需要缓存id设置了
<?php
$smarty->display("news.html",md5($id));
?>
这样就会缓存不同的文章
三 smarty 缓存控制
主要说以下 缓存控制的三种方法
在一个页面中有写部分是动态的 如 显示当前的时间 和 当前ip
那么该如何 动态显示当前时间呢 ,
当然用 js 也可以 这里主要说以下 smarty的三种方法实现
1、使用insert函数使模板的一部分不被缓存
首先在php页面中
<?php
function insert_get_now_time()
{
return date("Y-m-d h:i:s",time()+3600*8);
}
?>
在 模版中
现在时间为:<{insert name="get_now_time"}>
注意:首先 函数命名一定要 以 insert_ 开头 后面紧跟着 模版中的函数名字
只要定义了函数 smarty 会自动 加载其函数 。
以下两种方法是从网络上获取得
希望队大家有用
2使用register_function阻止插件从缓存中输出
index.tpl:
<div>{current_time}{/div}
index.php:
function smarty_function_current_time($params, &$smarty){
return date("Y-m-d H:m:s");
}
$smarty=new smarty();
$smarty->caching = true;
$smarty->register_function('current_time','smarty_function_current_time',false);
if(!$smarty->is_cached()){
.......
}
$smarty->display('index.tpl');
注解:
定义一个函数,函数名格式为:smarty_type_name($params, &$smarty)
type为function
name为用户自定义标签名称,在这里是{current_time}
两个参数是必须的,即使在函数中没有使用也要写上。两个参数的功能同上。
3、使用register_block使整篇页面中的某一块不被缓存
index.tpl:
<div align='center'>
Page created: {"0"|date_format:"%D %H:%M:%S"}
{dynamic}
Now is: {"0"|date_format:"%D %H:%M:%S"}
... do other stuff ...
{/dynamic}
</div>
index.php:
function smarty_block_dynamic($param, $content, &$smarty) {
return $content;
}
$smarty = new Smarty;
$smarty->caching = true;
$smarty->register_block('dynamic', 'smarty_block_dynamic', false);
if(!$smarty->is_cached()){
.......
}
$smarty->display('index.tpl');
注解:
定义一个函数,函数名格式为:smarty_type_name($params, &$smarty)
type为block
name为用户自定义标签名称,在这里是{dynamic}
两个参数是必须的,即使在函数中没有使用也要写上。两个参数的功能同上。
分享到:
相关推荐
1. Smarty缓存的配置: 在使用Smarty进行缓存时,首先需要在配置文件(通常为`config.php`)中启用缓存功能。这可以通过设置`$smarty->caching = true;`来实现。另外,可以设置缓存目录`$smarty->setCacheDir('path...
1、Smarty缓存的配置 $smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true; //开启缓存,为flase的时侯缓存无效 $smarty->cache_lifetime = 60; //缓存时间2、Smarty缓存的使用和清除 $...
### Smarty缓存部分参考知识点 #### 一、使用缓存 在使用Smarty模板引擎时,启用缓存功能是一项重要的优化措施。为了启动缓存机制,首先需要设置`$smarty->caching = true;`,这将告诉Smarty是否开启缓存功能。...
软件介绍 1、Smarty缓存的配置 $smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true; //开启缓存,为flase的时侯缓存无效 $smarty->cache_lifetime = 60; //缓存时间 2、Smarty缓存的...
掌握Smarty缓存的开启、设置、判断、清除以及生命周期管理等功能,对于提升PHP应用程序的性能和用户体验有着非常重要的意义。同时,SMARTY缓存也提供了方便的调试选项以及与其他缓存系统配合使用的灵活性,使其成为...
1. **设置缓存目录**:确保Smarty配置中指定了一个用于存储静态文件的目录。 ```php $smarty->setCacheDir('/path/to/static/files/'); ``` 2. **使用静态文件缓存**:在模板中,可以使用 `assign` 或 `cached` 指令...
描述中的“.rar”文件可能包含了PPT演示文稿和视频教程,其中`第30讲.ppt`可能是关于Smarty缓存的详细讲解,包括原理、配置、使用方法和最佳实践;`php100-30.wmv`则可能是一个视频教程,通过实例演示如何在实际项目...
### 一、开启和使用Smarty缓存 要启用Smarty的缓存功能,首先需要在初始化Smarty对象时设置相关参数。在配置文件或脚本中,可以这样设置: ```php $smarty = new Smarty(); $smarty->caching = true; // 开启缓存 ...
6. **配置文件**:配置文件用于设置Smarty的全局属性,如模板目录、编译目录等。配置可以通过`config_load`函数加载,并在模板中使用`{config_load}`访问配置变量。 7. **控制台调试**:Smarty提供了一套调试工具,...
Smarty是一个非常流行的PHP模板引擎,它提供了一种机制可以将生成...在实际应用中,开发者应根据具体需求和页面的特点选择合适的缓存策略,并且在开发过程中不断调整和优化缓存设置,以达到最佳的性能和资源利用效果。
四、Smarty缓存 Smarty有内置的缓存机制,能提高页面加载速度。通过`$smarty->cache_lifetime = 3600;`设置缓存有效期,`$smarty->caching = true;`开启缓存功能。 五、Smarty插件开发 Smarty允许扩展自定义插件,...
3. **配置(Configuration)**:Smarty允许你设定全局的配置选项,例如缓存设置、默认模板目录等,以满足项目的需求。 4. **插件(Plugins)**:Smarty支持自定义函数和修饰器,增强其功能,如日期格式化、字符串...
通过阅读`smarty中文手册.chm`,你可以了解如何设置Smarty环境,创建和解析模板,以及如何与其他PHP框架或CMS系统集成。对于PHP开发者来说,熟练掌握Smarty不仅能提升开发效率,还能提高代码的专业性和可读性,是...
3. **缓存机制**:Smarty支持缓存技术,可以将最终的HTML页面存储为静态文件,当设置缓存开启时,用户请求在缓存有效期内直接返回静态HTML,进一步提高了响应速度。 4. **插件扩展**:Smarty允许开发者自定义插件,...
Smarty的缓存管理策略非常灵活,可以通过设置缓存生命周期(即缓存多久后失效)、缓存依赖(当关联的某些文件或数据改变时自动清除缓存)等来控制。此外,Smarty还支持缓存前/后处理器,允许在内容缓存生成前后执行...
5. **configs** - 配置文件存储在此目录中,用于设定Smarty的行为,如缓存设置、模板目录、默认编码等。配置文件通常以`.php`结尾,可以通过数组形式定义配置选项。 6. **templates_c** - 这是编译后的模板文件存储...
初始化Smarty实例,设置缓存目录、模板目录等参数,完成基本的安装配置。 3. **Smarty模板语法** - **变量插值**:使用`{$variable}`来插入PHP变量。 - **控制结构**:Smarty支持if/else、foreach、while等条件和...
7. **配置选项**:Smarty有许多可配置的选项,比如模板目录、编译目录、缓存目录等,可以根据项目需求进行灵活设置。 8. **模板设计模式**:Smarty支持多种模板设计模式,如块(block)、分配(assign)、函数...
- **读取配置文件**:可以通过配置文件来设置 Smarty 的参数。 **4. 安全性增强**: - **转义处理**:默认情况下,Smarty 会对输出内容进行自动转义,避免 XSS 攻击。 - **自定义安全策略**:开发者可以根据需要...
在Smarty中,页面缓存是一种重要的性能优化手段,它能减少...因此,我们在理解本文内容时,需要对可能出现的错误和不连贯的地方进行合理的推测和修正,以保证对Smarty缓存控制和页面静态化的理解和应用是准确和有效的。