Get Smarty

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Check reviews of PHP Web Hosting, compatible with Smarty Templates

Name

is_cached

bool is_cached(string template,
               string cache_id,
               string compile_id);

Возвращает true если существует кэш для указанного шаблона. Работает только в том случае, если значение caching установлено в true.

Example 13.18. is_cached


<?php
$smarty->caching = true;

if(!$smarty->is_cached("index.tpl")) {
    // обращаемся к БД, назначаем переменные
}

$smarty->display("index.tpl");
?>

  

Также вы можете передавать cache id в качестве необязательного второго параметра, если у вас используется множественное кэширование шаблона.

Также вы можете передавать compile id в качестве необязательного третьего параметра. Если вы не передадите этот параметр, будет использован текущий $compile_id.

Если вы не хотите передавать cache id, но хотите передать compile id, вы должны передать null в качестве cache id.

Example 13.19. is_cached при множественном кэшировании шаблона


<?php
$smarty->caching = true;

if(!$smarty->is_cached("index.tpl", "FrontPage")) {
    // обращаемся к БД, назначаем переменные
}

$smarty->display("index.tpl", "FrontPage");
?>

  

Техническое замечание

Если is_cached возвращает true, при этом она загружает кэшированный вывод и хранит его в памяти. Любые последующие вызовы display() или fetch() будут возвращать этот хранимый в памяти вывод и не будут пытаться перезагрузить файл кэша. Это предотвращает неприятную ситуацию, которая может возникнуть если другой процесс очищает кэш между вызовами is_cached и display в предыдущем примере. Это также означает, что clear_cache() и другие изменения настроек кэширования могут не вступить в силу после того, как is_cached вернула true.

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 4 plus 12? (Are you human?)

Sponsors [info]

Cheap Website Hosting @hostdone.com
email marketing @ActiveCampaign
broadband deals @BroadbandGenie
Best UK Web Hosting @webhost.uk.net
Reliable UK and US Web Hosting @rshosting.com
Cheap US and UK Web Hosting @infrenion.com
I.T Certification Exams @pass-guaranteed.com
Certification Practice Tests @firsttrycertify.com
Certification Practice Exam Questions @ace-it-certifications.com
Broadband Speed Test @broadbandspeed.co.uk
bulk email software @americaint.com
ASP.NET hosting @aspnethosting.co.uk