smarty3笔记

1、Samrty.class.php 的compile_dir 和template_dir类属性 是private的,setTemplateDir和setCompileDir类方法是public的,可以通过public的修改private的

class MySmarty extends Smarty{

  public function __construct(){

    parent::__construct();  

  }

  $this->setTemplateDir();

  $this->setCompileDir();

}

2、smarty既能取值也能赋值,{$smarty.name},{$smarty.name="bob"}

3、

$smarty->template_dir = ROOT . 'view/smarty/templeate';
$smarty->compile_dir = ROOT . 'view/smarty/compile';
$smarty->caching = true;
$smarty->cache_lifetime = 3600;
$smarty->cache_dir = ROOT . 'view/smarty/cache';

$smarty->setTemplateDir(ROOT . 'view/smarty/templeate');
$smarty->setCompileDir(ROOT . 'view/smarty/compile');
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);
$smarty->setCacheDir(ROOT . 'view/smarty/cache');
$smarty->setCacheLifetime(100);
$smarty->clearCache();
$smarty->clearAllCache();

 4.smarty.class.php

4.1:DIRECTORY_SEPARATOR--php系统内置变量用于不同的操作系统显示不同的目录分隔符,在window里输出\

const DIR_SEP = DIRECTORY_SEPARATOR;// 路径分割 win下\ linux下/
private function __construct()
{
$this->_options = array(
'template_dir' => 'templates' . self::DIR_SEP, //模板文件所在目录
'cache_dir' => 'templates' . self::DIR_SEP . 'cache' . self::DIR_SEP, //缓存文件存放目录

);
}

42.:PATH_SEPARATOR-路径分隔符,在win下是;在linux下是:

5.缓存

5.1开启-缓存可以通过设置 $caching为:Smarty::CACHING_LIFETIME_CURRENT 或 Smarty::CACHING_LIFETIME_SAVED来开启。

$cache_lifetime默认是一小时,Smarty::CACHING_LIFETIME_SAVED可以让每个模板配置不同的缓存时间

6.局部不缓存

6.1模板区域不缓存{nocache}{$smarty.now|data_format}{/nocache}

6.2标签不缓存{$smarty.now|data_format nocache}

6.3变量不缓存$smarty->assign('data',time(),true);

6.4插件的不缓存

7.单页面多缓存

通过display或者fetch的第二个参数来设置根据不同$id生成不同的缓存

<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

$my_cache_id = $_GET['article_id'];

if(!$smarty->isCached('index.tpl',$my_cache_id)) {
    // 没有缓存,这里将进行一些赋值操作
    $contents = get_database_contents();
    $smarty->assign($contents);
}

$smarty->display('index.tpl',$my_cache_id);
?>

smarty3-笔记的更多相关文章

  1. Smarty3学习笔记

    Smarty3 笔记 By 飞鸿影~ -- :: Smarty入门 1.什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离, 使php程序员只 ...

  2. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  8. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  9. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

随机推荐

  1. 视频 -> 帧 浅析

    原创:转载请注明出处 关于帧率 首先以下几个概念必须弄清楚 1.一个帧就是一个画面 2.视频有无数个帧组成 3.表达时间的量  CMTime 的定义: typedef struct { CMTimeV ...

  2. iOS进阶推荐的书目

    <Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法>([英]Matt Galloway) 很多面试题有涉及 <IOS数据库应用高级编 ...

  3. Windows下将ImageMagick移植到Android平台

    Windows下将ImageMagick移植到Android平台 原文链接  http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...

  4. Lucene add、updateDocument添加、更新与search查询(转)

    package com.lucene;   import java.io.IOException;   import org.apache.lucene.analysis.standard.Stand ...

  5. 解决 UNMOUNTABLE_BOOT_VOLUME 蓝屏【转载】

    现象:一台XP系统的机器,开机在滚动条阶段蓝屏,蓝屏代码大概是“UNMOUNTABLE_BOOT_VOLUME”. 用PE进系统后发现C盘的文件格式变为RAW,总容量等变为0 解决方法一:将故障机的硬 ...

  6. 在window系统下搭建基于ssh的git服务器

    以下是基于window server 2012搭建的,学习搭建过程需要很多问题,找了许多文章做了一下总结. 1.所需的软件 Git for Windows: MsysGit(Git-1.7.4-pre ...

  7. double类型之四舍五入

    题目: A - Tutor Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%I64d & %I64u Submi ...

  8. hihocoder网络流一·Ford-Fulkerson算法

    网络流一·Ford-Fulkerson算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho住在P市,P市是一个很大很大的城市,所以也面临着一个大城市都会遇 ...

  9. Recover Polygon (easy)

    Recover Polygon (easy) The zombies are gathering in their secret lair! Heidi will strike hard to des ...

  10. cc2530操作任务系统初始化分析

    操作系统任务初始化void osalInitTasks( void ){ uint8 taskID = 0; // 分配内存,返回指向缓冲区的指针 tasksEvents = (uint16 *)os ...