Smarty - compile_id, cache_id

PHProgress

Новичок
Доюрый день.

Не совсем пойму, когда какой параметр нужно использовать при создании копий кэша на smarty, что бы логика работы была верной, а также что бы не создавать лишний не нужных копий. В принципе я понимаю, что они делают, но какой когда использовать?

cache_id
compile_id,


Правильно ли понимаю (на примере странички):

1. Есть шаблон страницы (ставлю cache_id=PAGE_TEMPLATE)
2. На ней есть вывод новостей по страницам (ставлю cache_id=NEWS_LIST)
3. Если пользователь начинает ходить по страницам списка новостей - добавляю compile_id=$_GET['page_number'] к пункту 2?

--
Документацию по двум параметрам читал , но так и не могу понять, когда что нужно использовать и в какой ситуации. Спасибо.
 

PHProgress

Новичок
Так как правильно использовать данные два параметра, а главное когда?
 

keltanas

marty cats
Если у тебя один и тот же скрипт на сайте выводит разные страницы, то чтобы они имели в кэше разный вид, тебе и надо как раз, для их различения, использоваться идентификатор кэша.
Например, у тебя скрипт выводит новости по их id http://example.com/news.php?id=10. Без использования идентификатора кэша, при просмотре первой новости она закэшируется, и тогда какую бы страницу пользователь не установил (http://example.com/news.php?id=13), будет отображатся только та, закэшированная страница. Если ты используешь в качестве cache_id, например, id новости, то все новости будут кэшироваться отдельно и накладок не возникнет.
 

PHProgress

Новичок
Если у тебя один и тот же скрипт на сайте выводит разные страницы, то чтобы они имели в кэше разный вид, тебе и надо как раз, для их различения, использоваться идентификатор кэша.
Например, у тебя скрипт выводит новости по их id http://example.com/news.php?id=10. Без использования идентификатора кэша, при просмотре первой новости она закэшируется, и тогда какую бы страницу пользователь не установил (http://example.com/news.php?id=13), будет отображатся только та, закэшированная страница. Если ты используешь в качестве cache_id, например, id новости, то все новости будут кэшироваться отдельно и накладок не возникнет.
Так а зачем тогда нужен еще compile_id?
 

keltanas

marty cats
Очевидно же - идетифицировать скомпилированные шаблоны. Это для совсем запущеных случаев с ацкой архитектурой.
О таких случаях описано в документации, по ссылке, которую дал WMix. Можешь почитать ;)
 
Сверху