Login   Register  
PHP Classes
elePHPant
Icontem

File: tests/smartyHandler.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Oleg Butuzov  >  Cacheme  >  tests/smartyHandler.php  >  Download  
File: tests/smartyHandler.php
Role: Example script
Content type: text/plain
Description: Smarty Example
Class: Cacheme
Cache data in different types of container
Author: By
Last change:
Date: 2008-05-22 05:16
Size: 1,791 bytes
 

Contents

Class file image Download
<?
    
    
    
function SmartyBridge_Cache_handler($action, &$smarty_obj, &$cache_content$tpl_file=null$cache_id=null$compile_id=null$exp_time=null){
        global 
$cache_obj;
        
$CacheID md5($tpl_file.$cache_id.$compile_id);
        

        
$dsn 'memcache://127.0.0.1:11211';
        
//        $dsn = 'sqlite://sqlite.db';
        
        
$cache_obj = isset($cache_obj) && is_object($cache_obj) ? $cache_obj CacheMeLoader::Factory($dsn);
                
//$cache_obj->lifetime = $smarty_obj->cache_lifetime;
        
        //die();
        
switch ($action) {
                        case 
'read':
                
$cache_content $cache_obj->get($CacheID);
                return 
$cache_content;
            break;
            case 
'write':

                return 
$cache_obj->set($CacheID$cache_content);
            break;
            case 
'clear':
                if(empty(
$cache_id) && empty($compile_id) && empty($tpl_file)) {
                    return 
$cache_obj->clear();
                } else {
                    return 
$cache_obj->clear($cache_id);                
                }
            break;
            default:
                
$smarty_obj->_trigger_error_msg("cache_handler: unknown action \"$action\"");
            break;
        }    

    }
    
    include 
'libs/Smarty/Smarty.class.php';
    include 
dirname(dirname(__FILE__)).'/Cacheme/Cacheme.php';
    
$smarty = new Smarty;
    
$smarty->cache_handler_func 'SmartyBridge_Cache_handler';
    
$smarty->template_dir dirname(__FILE__).'/';
    
$smarty->compile_dir  dirname(__FILE__).'/';
    
$smarty->cache_dir      dirname(__FILE__).'/_tmp/_tmp_templates_cache';
    
$smarty->force_compile false;
    
$smarty->caching true;
        
$smarty->cache_lifetime 5;
    
    
$var 'me cached  ';
    if (
$smarty->is_cached('test.tpl'$var)){
        
$smarty->display('test.tpl'$var);    
        die(
' @cached');
    } else {
        
$smarty->assign('var'$var);
                
$smarty->display('test.tpl'$var);    
        die(
' @generated');        
    }
    
?>