Smarty是一个从应用程序中剥离表现层的工具,是一种从程序逻辑层(PHP)抽出外在(HTML/CSS)描述的PHP框架
但Smarty不是MVC框架,它只是一种描述层,即(V)。
1. Smarty优点
- 速度
- 编译型
- 缓存技术
- 插件技术
- 强大的表现逻辑
- 模版继承
2. Smarty安装
- 到 官网 下载Smarty
- 解压压缩包,抽取libs文件夹,复制到主程序文件夹下,其他文件夹没有用
- 在执行的PHP脚本中通过require语句将libs目录下的Smarty.class.php类文件加载进来
- 实例化Smarty类
<?php
//加载Smarty.class.php
require './libs/Smarty.class.php';
//实例化smarty类的对象$smarty
$smarty = new Smarty();
3. Smarty配置
为了避免重复配置路径,一般在一个独立的批文件里面配置,在每个使用Smarty的脚本中包含该文件即可。
以下为init.inc.php,将其放到主文件夹下,和Smarty类库所在libs在同一个目录中
<?php
define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/');//指定项目的根路径
require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件
$smarty = new Smarty(); //实例化Smarty类
//此为Smarty3版本设置,与Smarty2设置不相同,推荐Smarty3的设置,支持连贯操作
$smarty ->setTemplateDir(ROOT.'templates/') //设置所有模版文件目录
->addTemplateDir(ROOT.'templates2/')//可以添加多个模版目录(前后台各一个)
->setCompileDir(ROOT.'templates_c')//设置变异过的模版文件目录
->setPluginsDir(ROOT.'plugins/') //设置插件目录
->setCacheDir(ROOT.'cache/') //设置缓存文件目录
->setConfigDir(ROOT.'configs'); //设置模版配置文件目录
$smarty->caching = false; //缓存开关
$smarty->cache_lifetime=60; //缓存时间
$smarty->left_delimiter="<{";//左定界符
$smarty->right_delimiter="}>";//右定界符