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

相关文章

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

React 记忆缓存的三种方法实现

《React记忆缓存的三种方法实现》本文主要介绍了React记忆缓存的三种方法实现,包含React.memo、useMemo、useCallback,用于避免不必要的组件重渲染和计算,感兴趣的可以... 目录1. React.memo2. useMemo3. useCallback使用场景与注意事项在 Re

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推