Smarty3.1.3安装使用
Smarty简介
Smarty是一个PHP的模板引擎。更明确来说,它可以帮助开发者更好地分离程序逻辑和页面显示。业务逻辑和显示逻辑分离,是Smarty的一个设计理念。
Smarty的一些特性:
- 非常快速。
- 比PHP内嵌到HTML中的做法要有效率的多。
- 无模板解析的开销,只编译一次。
- 仅当模板文件被修改后才会聪明地重新编译。
- 你可以很容易创建自己的函数 和 变量修饰器,非常具有可扩展性。
- 可配置的模板定界符语法{delimiter}, 你可以使用{$foo}, {{$foo}}, <!--{$foo}-->等等。
- 条件判断语句 {if}..{elseif}..{else}..{/if} 会直接使用PHP解析,所以{if...}后可以是简单或者较复杂的表达式。
- 支持无限的 sections, if等的嵌套。
- 内置缓存支持。
- 任意的模板源。
- 模板继承 可以轻松管理模板和内容。
- 插件 架构。
smarty缓存和页面静态化都是页面缓存技术,区别是smarty缓存是临时性的,静态化是永 久性的,可以通过组合互补达到比较好的性能优化效果。而memcache是内存对象缓存系统,与前两种比不是文件级别的缓存,而是内存级别的缓存。
smarty的使用
第1步:加载Smarty模板引擎,如:require 'libs/Smarty.class.php'
第2步:创建Smarty对象,如:$smarty = new Smarty();
第3步:修改Smarty默认行为,如:开启缓存、模板的存放路径等
第4步:将程序中取得的数据通过Smarty对象的assign()方法赋值给模板中相应的变量
第5步:用Smarty对象的display()方法将模板内容输出
Smarty3.1.3安装使用具体使用步骤如下:
1.首先解压Smarty3.1.3 ,其中有一个libs文件夹,把该文件夹重命名为smarty。
2.在htdocs下建一个study文件夹作为网站根目录,然后把smarty文件复制到网站的根目录下,在study下还需要新建以下几个文件夹(名字随便起,但是要与下一步的配置一一对应):templates(用于存放模版的目 录)、templates_c(用于存放编译后文件的目录)、cache(用于存放缓存的目录)、config(用于存放配置的目录)
3.在config文件夹下建立配置文件:smarty.inc.php,内容如下:
include("./smarty/Smarty.class.php");//引入文件类
$tpl=new Smarty();
$tpl->template_dir="./templates";//指定模版存放目录
$tpl->compile_dir="./templates_c";//指定编译文件存放目录
$tpl->config_dir="./config";//指定配置文件存放目录
$tpl->cache_dir="./cache";//指定缓存存放目录
$tpl->caching=false;//关闭缓存(设置为true表示启用缓存)
//$tpl->cache_lifetime=60*60*24;
$tpl->left_delimiter='{';//指定左标签
$tpl->right_delimiter='}';//指定右标签
4.在templates文件夹下新建一个test.tpl测试模板文件,代码如下:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf8">
<title>{$title}</title>
</head>
<body style="font-size:50px">
{$content}
</body>
</html>
5..在study下建index.php文件,代码如下:
<?php
require("config/smarty.inc.php");//引入配置文件
$title="Smarty";//定义变量
$content="抬头挺胸,明天这个世界是我的";
$tpl->assign("title",$title);//用定义的变量替换模板中的变量
$tpl->assign("content",$content);
$tpl->display('test.tpl');//显示模板文件
?>
6.在浏览器地址栏中输入:http://localhost/study/index.php,输出“抬头挺胸,明天这个世界是我的”。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix