1. Smarty 캐시 구성:
다음과 같이 코드를 복사하세요.
$smarty->cache-dir="directory name" //캐시 디렉터리 이름 생성
$smarty- >caching=true; //캐싱을 활성화합니다.
$smarty->cache_lifetime=60; //캐시 시간(초)
Smarty 캐시 사용 및 삭제
코드 복사 코드는 다음과 같습니다.
$marty->display("cache.tpl",cache_id) //ID가
$인 캐시를 생성합니다. marty->clear_all_cache(); //모든 캐시 지우기
$marty->clear_cache("index.php") //index.php에서 캐시 지우기
$marty->clear_cache(" index.php',cache_id); //index.php에서 지정된 ID의 캐시 지우기
3, Smarty의 로컬 캐시
첫 번째: insert_ 함수는 기본적으로 캐시되지 않습니다. 수정 가능
사용법: 예
index.php,
function insert_get_time(){
return date("Y-m-d H:m:s")
}
index.html,
{insert name ="get_time"}
두 번째: smarty_block
블록 정의: smarty_block_name($params,$content, &$smarty){return $content;} //이름은 영역 이름
레지스터 블록:$smarty->register_block('name', 'smarty_block_name', false) //세 번째 매개변수 false는 해당 영역이 캐시되지 않음을 의미합니다.
템플릿 작성 방법: {name}content {/name}
블록 플러그인으로 작성:
1) 플러그인 함수를 정의합니다: block.cacheless.php 그리고 smarty의 플러그인 디렉토리에 배치합니다.
block.cacheless의 내용. php는 다음과 같습니다:
function smarty_block_cacheless($param, $content, &$smarty) {
return $content;
}
?> ) 프로그램 및 템플릿 작성
샘플 프로그램: testCacheLess.php
include('Smarty.class.php')
$smarty = new Smarty- >caching=true;
$smarty->cache_lifetime = 6;
$smarty->display('cache.tpl')
?>
캐시됨: {$smarty.now}< br>
{cacheless}
캐시 없음: {$smarty.now}
{/cacheless}
4개 맞춤 캐시
설정 캐시를 처리하기 위해 사용자 정의 함수를 사용하는 캐시_handler_func
예:
$smarty->cache_handler_func = "myCache"
function myCache($action, &$smarty_obj, &$cache_content, $tpl_file= null, $cache_id=null, $compile_id=null){
}
이 함수는 일반적으로 $action을 기반으로 캐시의 현재 작업을 결정합니다.
switch($action){
case "read "://캐시 내용 읽기
case "write "://write 캐시
case "clear"://clear
}
일반적으로 md5($tpl_file.$cache_id.$compile_id)를 사용합니다. 유일한 캐시 ID로
필요하다면 gzcompress와 gzuncompress를 사용하여 압축 및 압축을 풀 수 있습니다
더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!