`

smarty局部缓存技术

阅读更多

1,insert 法
定义一个函数显示时间的:

function insert_get_current_time(){
    $timestamp=empty($timestamp)?time():$timestamp;
    $timeoffset=(int) '+8';
    return $ret=gmdate("Y-n-j g:ia", $timestamp + $timeoffset * 3600);
}

 

然后在模板中:

{insert name="get_current_time"}
这样每次打开页面,显示的都是即时时间,而不是缓存的。注意这里的函数名一定要以insert开头,模板中的name与之对应。
这种方法简单,但是如果要显示的内容是一大块的,就不宜使用了。
2,动态block 法
function smarty_block_nocache($param, $content, $smarty)
 {
    return $content;
}
$smarty->register_block('nocache', 'smarty_block_nocache', false);
 在模板中:
{nocache}
{$smarty.now}
{/nocache}
 

这样每次刷新页面,显示的时间都是不同的。

3,插件block 法
在Smarty/plugins目录下建一个文件
block.nocache.php 内容如下:

 

<?php 
function smarty_block_nocache($param, $content, $smarty)
{
      return $content; 
}  
?>
 这样做与方法2的效果是一样的,模板中标签也一样。在 php文件中就不必要再register_block了,很方便。
分享到:
评论

相关推荐

    smarty模板局部缓存方法使用示例

    在Smarty模板中,局部缓存是一种可以缓存模板中特定部分的技术,而不是整个页面,这样可以提高性能和效率。本文将介绍Smarty模板局部缓存方法的使用,包括开启缓存、检测缓存过期、以及如何避免模板被全部缓存等重要...

    Smarty的配置与高级缓存技术分享

    局部缓存技术,也称为部分缓存,指的是只缓存页面中的一部分内容。它允许页面的其他部分正常更新,而只有标记为缓存的区域被缓存起来。这在页面中有部分数据需要频繁更新,而其他部分则保持不变的情况下非常有用。...

    Smarty-3.0.7

    9. **配置管理**:Smarty允许设置全局和局部的配置选项,如模板目录、编译目录、缓存目录等,便于管理和优化。 在Smarty-3.0.7这个版本中,可能包含了对之前版本的一些bug修复、性能提升或者新功能的引入。不过具体...

    PHP文件缓存smarty模板应用实例分析

    通过编写自定义插件文件block.cacheless.php,并在SMARTY模板中使用{cacheless}标签来标记不需要缓存的区域,从而实现局部内容动态更新。 总之,SMARTY模板的文件缓存机制能够显著提升PHP程序的性能,尤其是当网站...

    php smarty模版引擎中的缓存应用

    接下来,让我们来探讨Smarty的局部缓存技术。并非模板中的所有内容都适合缓存,因为一些数据是动态变化的,比如显示当前时间。Smarty的`insert`函数默认不缓存,但`smarty_block`可以缓存其内容,除非特别指定。我们...

    smarty教程与参考文档(chm)

    Smarty参考文档(Smarty.chm)是一本详细的技术指南,包含了Smarty的所有功能和用法。在文档中,你可以找到关于以下内容的信息: 1. **安装和配置**:如何在你的PHP项目中设置和配置Smarty,包括基本的安装步骤和...

    fanfou.rar_Smarty模板_fanfou_php smarty_smarty_聊天室

    Smarty提供了预编译、缓存等特性,提高了网站的性能,并且支持自定义函数、模板继承、控制结构等功能,使得模板编写更加灵活。 在仿Fanfou.com的项目中, Smarty被用来实现动态换模板的功能。这意味着用户可以根据...

    5451CMS 1.2.rar

    具有部署和应用及为简单、效率高、速度快,扩展性和可维护性都很好等特点,可以用于更好的二次开发,使用Memcached 对SQL 和session 进行缓存,使用Smarty 缓存技术进行页面静态化,提升效率,减少运行消耗。...

    5451CMS v1.2

    具有部署和应用及为简单、效率高、速度快,扩展性和可维护性都很好等特点,可以用于更好的二次开发,使用Memcached 对SQL 和session 进行缓存,使用Smarty 缓存技术进行页面静态化,提升效率,减少运行消耗。...

    5451CMS v1.2.zip

    具有部署和应用及为简单、效率高、速度快,扩展性和可维护性都很好等特点,可以用于更好的二次开发,使用Memcached 对SQL 和session 进行缓存,使用Smarty 缓存技术进行页面静态化,提升效率,减少运行消耗。...

    PHP 开发 典型模块大全 购物车模块

    3. 性能优化:减少不必要的数据库查询,利用缓存技术提高效率。 4. 用户体验:提供实时更新购物车的机制,用户无需频繁刷新页面就能看到购物车变化。 总结,PHP开发的购物车模块是一个涉及数据存储、模板引擎应用、...

    php页面静态化学习笔记.doc

    此外,数据库优化、缓存技术(如Memcached、Redis)等也是提升网站性能的有效途径。合理设计数据库表结构,实施分表、读写分离,以及对MySQL进行配置优化,都是减轻数据库压力的重要手段。 总结来说,PHP页面静态化...

    PHP+MYSQL仿机锋网.rar

    通常通过HTTP协议进行通信,使用AJAX(异步JavaScript和XML)技术可以实现页面局部更新,提升用户体验。JSON作为数据交换格式,被广泛应用于前后端的数据传输。 5. **网页模板和框架**:为了提高开发效率,项目可能...

    PHP网络编程技术与实例

    13. **缓存技术**:如APC、Memcached、Redis等,可以提高网站性能,减少服务器负载。 14. **框架应用**:如Laravel、Symfony、Yii等PHP框架,提供了一套完整的开发规范和工具,加速项目开发。 15. **RESTful API...

    基于PHP的红色博客类网站源码.zip

    10. 性能优化:如缓存技术(如Memcached或Redis)、数据库查询优化、减少HTTP请求数量等,都是提高网站性能的重要手段。 综上所述,"基于PHP的红色博客类网站源码.zip"包含了PHP Web开发的多个核心概念和技术,对于...

    精通PHP+Mysql的源码

    12. **缓存技术**:利用PHP内置的缓存机制如APC,或者第三方库如Memcached、Redis提升性能。 13. **AJAX异步通信**:利用JavaScript的XMLHttpRequest对象实现页面局部更新,提高用户体验。 14. **RESTful API设计*...

    php开发流程借鉴.pdf

    - **Smarty模板**:用于分离业务逻辑和视图,提供模板缓存和页面局部缓存功能,以提高性能。 - **AJAX**:在Web 2.0中,AJAX允许异步数据交换,提升用户体验,如用户验证、动态菜单和分页。 - **CACHE缓存**:...

    php开发培训最全学习大纲.docx

    1. Ajax是什么:异步JavaScript和XML,实现页面局部刷新。 2. Ajax原理图:理解Ajax的工作流程。 3. 验证用户名:无刷新验证用户输入的示例。 4. 处理XML和JSON:解析服务器返回的XML或JSON数据。 5. 省市联动:实现...

    PHP语言进阶和高级应用【PDG】

    12. **性能优化**:包括缓存技术(如APC、Memcached、Redis)、代码优化技巧以及使用Opcache提升解释器性能等。 通过深入学习以上知识点,并结合实际项目经验,可以将PHP技能提升至进阶和高级水平。在实践中,不断...

Global site tag (gtag.js) - Google Analytics