码迷,mamicode.com
首页 > 其他好文 > 详细

smarty3-笔记

时间:2015-06-27 09:43:57      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

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-笔记

标签:

原文地址:http://www.cnblogs.com/fang8580/p/3912657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!