1. 캐시 사용
smarty의 캐시를 활성화하려면 캐시를 true로 설정하고 cache_dir을 지정하세요.
cache 생존 시간 단위를 지정하세요. 초입니다
동일한 페이지에 대해 여러 개의 서로 다른 캐시를 생성하려면 display에 두 번째 매개변수인 캐시_id를 추가하거나
$smarty->display('index.tpl',$my_cache_id);
와 같이 가져옵니다. 이 기능을 사용할 수 있습니다. $_GETs
2. 캐시 지우기
clear_all_cache();//清除所有缓存 clear_cache('index.tpl');//清除index.tpl的缓存 clear_cache('index.tpl',cache_id);//清除指定id的缓存
3. 사용자 정의 캐싱 방법 사용
캐시_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"://写入缓存 case "clear"://清空 }
일반적으로 사용되는md5($tpl_file.$cache_id.$compile_id)를 유일한 캐시 ID로
필요한 경우 gzcompress 및 gzuncompress를 사용하여 압축 및 압축 해제할 수 있습니다.
캐시를 부분적으로 닫습니다
특정 영역(캐시만 필요)에서 캐시를 무효화하려면 다음과 같은 여러 가지 방법이 있습니다.
삽입:
삽입 태그에서 사용할 처리 함수를 정의합니다. 함수 이름 형식은 insert_xx(배열 $params)입니다. , object &$smarty) 여기서 xx는 insert의 이름입니다. 즉, 정의한 함수가 insert_abc라면 템플릿에서 사용되는 메소드는 {insert name='abc'} 매개변수는 $params를 통해 전달됩니다
삽입 플러그인으로 만들 수도 있습니다. 파일 이름은 insert.xx.PHP이고 함수 이름은 smarty_insert_aa($params,&$smarty)입니다. xx의 정의는 위와 같습니다
register_block:
定义一个block:smarty_block_name($params,$content, &$smarty){return $content;} //name表示区域名 注册block:$smarty->register_block('name', 'smarty_block_name', false); //第三参数false表示该区域不被缓存 模板写法:{name}内容{/name}블록 플러그인으로 작성:
1) 플러그인 함수 정의: block.cacheless.php 및 smarty 플러그인 디렉토리에 넣으세요
block.cacheless.php의 내용은 다음과 같습니다:
<?php function smarty_block_cacheless($param, $content, &$smarty) { return $content; } ?>
2) 프로그램 및 템플릿 작성
샘플 프로그램: testCacheLess.php
<?php include('Smarty.class.php'); $smarty = new Smarty; $smarty->caching=true; $smarty->cache_lifetime = 6; $smarty->display('cache.tpl'); ?>사용된 템플릿: 캐시.tpl
已经缓存的:{$smarty.now}<br>{cacheless} 没有缓存的:{$smarty.now}{/cacheless}
위 내용은 PHP 파일 캐싱 스마트 템플릿 적용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!