Встроенных CakePHP cache хелпер очень хорош, но на выходе мы получаем php файлы,и они никогда не будут быстрее чистых HTML файлов. Этот HTML Cache Helper пишет чистый HTML код, это означает, что веб сервер не использует PHP при запросе страницы.
Это хэлпер предназначен для страниц с высоким трафиком и с редко изменяющимся содержимым. Я использую этот хэлпер на .
Вы можете скачать хэлпер тут или скопировать код показанный ниже в файл /app/views/helpers/html_cache.php.
Класс Helper:<?php
/*
* HTML Cache CakePHP Helper
* Copyright (c) 2008 Matt Curry
* www.PseudoCoder.com
* http://github.com/mcurry/cakephp/tree/master/helpers/html_cache
* http://www.pseudocoder.com/archives/2008/09/03/cakephp-html-cache-helpercakephp-html-cache-helper/
*
* @author Matt Curry <matt@pseudocoder.com>
* @license MIT
*
*/
class HtmlCacheHelper extends Helper {
function afterLayout() {
$view =& ClassRegistry::getObject('view');
$path = WWW_ROOT . implode(DS, array_filter(explode('/', $this->here)));
$file = new File($path, true);
$file->write($view->output);
}
}
?>
find /full/path/to/app/webroot/controller/ -mmin +360 | xargs rm -f
Ограничение
- На странице не должно быть пользовательских блоков. Ни "привет Федя" ни корзины для покупок.
- Кеш никогда не истечет. Читай ниже как это обойти.
Вы можете скачать хэлпер тут или скопировать код показанный ниже в файл /app/views/helpers/html_cache.php.
Класс Helper:
/*
* HTML Cache CakePHP Helper
* Copyright (c) 2008 Matt Curry
* www.PseudoCoder.com
* http://github.com/mcurry/cakephp/tree/master/helpers/html_cache
* http://www.pseudocoder.com/archives/2008/09/03/cakephp-html-cache-helpercakephp-html-cache-helper/
*
* @author Matt Curry <matt@pseudocoder.com>
* @license MIT
*
*/
class HtmlCacheHelper extends Helper {
function afterLayout() {
$view =& ClassRegistry::getObject('view');
$path = WWW_ROOT . implode(DS, array_filter(explode('/', $this->here)));
$file = new File($path, true);
$file->write($view->output);
}
}
?>


Коментарии:
Пока нетуДобавить коментарий