Smarty:变量调节器插件缓存

2024-04-04 15:48

本文主要是介绍Smarty:变量调节器插件缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(一)变量调节器的功能(实例):

PHP:

<?php
include ("../libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->reInitSmarty("../demo/templates","../demo/templates_c","../demo/configs");
$string = "'ni hao' PHP! java net 3g PHP! java net 3g";
$smarty->assign("cap",$string);
$smarty->assign("num",123.456789456123);
$smarty->display("variable_modifiers.tpl");
?>

母版文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试变量调节器</title>
</head>

<body>
Capitalize功能演示:<br />
原变量内容:<{$cap|escape:"htmlall"}><br />
应用后内容:<{$cap|capitalize}><br />
<hr />
count_characters功能演示:<br />
<{$cap}>的字符个数为(不计空格):<{$cap|count_characters}><br />
<{$cap}>的字符个数为(计空格):<{$cap|count_characters:true}><br />
<hr />
cat功能演示:<br />
给字符串<{$cap}>连接***之后:<{$cap|cat:"***"}><br />
<hr />
count_paragraphs功能演示:<br />
<{$cap}>的段落个数为:<{$cap|count_paragraphs}><br /><hr />
count_sentences功能演示:<br />
<{$cap}>的句子个数为:<{$cap|count_sentences}><br /><hr />
count_words功能演示:<br />
<{$cap}>的单词个数为:<{$cap|count_words}><br /><hr />
<!--利用date_format格式化当前系统日期/时间:<br />
当前系统时间为:<{$smarty.now|date_format:" %Y 年 %m 月 %d日 %H:%M:%S " }><br />-->
<{*string_format格式参数:%md(十进制整数) %x(十六进制整数) %o(八进制整数) %u(无符号数显示)*}>
<{$num}>通过%md格式化:<{$num|string_format:"%10d"}><br />
<{$num}>通过%m.nf格式化一个实数:<{$num|string_format:"%.2f"}><br />
<{$num}>通过%e格式化一个实数:<{$num|string_format:"%4.1e"}><br />
<{$cap}>应用缩进之后:<br />
<{$cap|indent:4:"&nbsp;"}><br />
<{$cap}>转换成小写:<{$cap|lower}><br />
<{$cap}>转换成大写:<{$cap|upper}><br />
<{$cap}>里面的PHP替换为java:<{$cap|replace:"PHP":"java"}><br />
<{$cap}>应用truncate截取字符串后的效果:<{$cap|truncate:30:"***":true}><br />
<{$cap}>应用spacify之后的效果:<{$cap|upper|spacify}>
</body>
</html>
*****************************************************************************************************************************************************************************************

(二)插件:就是把modifier.***.php放到plugin文件夹里,实例:

modifier.changecolor.php(插件功能:改变字体颜色):

<?php
function smarty_modifier_changecolor($string,$color='red'){
    $string="<font color='".$color."'>".$string."</font>";
    return $string;
    
    }
?>

母版文件:


<{$cap}>应用自定义changecolor后的效果:<{$cap|changecolor:"green"}>

略...

*****************************************************************************************************************************************************************************************

(三)缓存基础:
1.什么是缓存(cache)?
内存(临时存放数据,解决cpu和外部设备之间速度不匹配的问题)
高速缓存(cache)(解决cpu和内存之间速度不匹配的问题)
作用:提高计算机数据的访问速度
网站设计中(软件开发中)
缓存的概念:在PHP中,缓存就是硬盘中的一块区域,将生成的不变的页面放入这块区域当中,相当于直接放入了缓存。当用户重复访问相同页面的时候,直接从缓存区域调用页面。
2.如何应用缓存(smarty中)
(1)单页面单缓存(建立缓存)
步骤1:开启缓存($smarty->caching=true)
步骤2:设置缓存目录($smarty->cache_dir='')
步骤3:设置缓存文件的生存时间
步骤4:利用display()或者fetch()生成缓存文件


这篇关于Smarty:变量调节器插件缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876194

相关文章

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数