{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (6 янв 2015, 19:16) [0/0] [0] [отв] [спам] [под] +1 | -1

Может кому-нибудь пригодится, класс для кэширования php-скриптов:

<?
class cache {
var $cache_cont; //Кэшируемый
контент
var $cache_url; //Адрес для
сохраниения кэшированых файлов
var $time_diff; //Через какой
промежуток времени кэшировать
var $its_all_cache_ok;
var $fullpath;
function CacheGo($urlsite,$time_for_cache,$path) {
$this->cacheurl="cache_".md5($urlsite);
$this->fullpath=$path.$this->cacheurl;
$this->time_diff = time()-@
filemtime ($this->fullpath);
if ($this->time_diff < $time_for_cache){
include ($this->fullpath);
$this->its_all_cache_ok=1;
}
}
function CacheInitial() {
ob_start();
}
function CacheClr() {
ob_end_clean();
}
function CacheGet () {
$this->cache_cont = ob_get_contents();
return $this->cache_cont;
}
function CacheInpAndWr() {
echo $this->cache_cont;
$fp = Удалён ($this->fullpath, "w"*; //Открываем файл на
запись
Удалён ($fp, $this->cache_cont);//Записываем кешируемую
информацию в файл
Удалён ($fp); //Закрываем
файл
}
}
?>

Использование:
Вместо <?php
include 'sidebar.php';
?>
Пишем
<?php
$cl_cache = new cache();//Кэширование бокового сайдбара
$cl_cache->CacheGo($_SERVER['REQUEST_URI'], 3600, rtrim($_SERVER['DOCUMENT_ROOT'],'/')."/cache/"*;
if ($cl_cache->its_all_cache_ok !=1) {
$cl_cache->CacheInitial();
include 'sidebar.php';
$cl_cache->CacheGet();
$cl_cache->CacheClr();
$cl_cache->CacheInpAndWr ();
}
unset($cl_cache);
?>

В функцию CacheGo мы передаем три параметра:
Первый параметр – текущая
(кэшируемая) страница, или другой любой уникальный идентификатор для данного кэша. К примеру можно взять
не только текущий адрес (URL), но и например текущий раздел. Если этот блок одинаковый для всех страниц, то просто пропишите название раздела, например «main_content».
Второй — время в секундах, на какое мы закэшируем блок. 3600 секунд это один час.
Третий — Путь, где будет храниться кэш вывода скрипта.
Не забудьте поставить права на папку 777.

После кеширования можете забыть об оптимизации скрипта..на время. Надеюсь этот класс окажется для вас полезным. *

2.
RayBoy1 * 0.04
(6 янв 2015, 19:22) [0/0] [0] [отв] [спам] [под] +1 | -1

сам писал?

3. [автор] (6 янв 2015, 19:26) [0/0] [0] [отв] [спам] [под] +1 | -1
RayBoy1,

Изучение хабровских публикаций. Мне до строгого ООП ещё долго.

4.
RayBoy1 * 0.04
(6 янв 2015, 19:48) [0/0] [0] [отв] [спам] [под] +1 | -1
Денис Павлик,

статьи давнешние) по var заметно *

5.
Hatsune Miku * [мошенник] 22.23
(6 янв 2015, 19:49) [0/0] [0] [отв] [спам] [под] +1 | -1
RayBoy1,

просто код адаптирован под работу под старыми пхп версиями *

6.
RayBoy1 * 0.04
(6 янв 2015, 20:48) [0/0] [0] [отв] [спам] [под] +1 | -1
Hatsune Miku,

var новыми php версиями не будет поддерживаться *

7.
Hatsune Miku * [мошенник] 22.23
(6 янв 2015, 20:49) [0/0] [0] [отв] [спам] [под] +1 | -1
RayBoy1,

не неси бред, всё норм *

8.
RayBoy1 * 0.04
(6 янв 2015, 20:50) [0/0] [0] [отв] [спам] [под] +1 | -1
Hatsune Miku,

*

9. (7 янв 2015, 02:01) [0/0] [0] [отв] [спам] [под] +1 | -1

Да, код УГ.
1. var - древне
2. Имена свойств и методов
3. @ - не нужно так делать
4. Читабельность Уг, советую познакомиться с PSR

10. (7 янв 2015, 02:02) [0/0] [0] [отв] [спам] [под] +1 | -1
Hatsune Miku,

Где такое возможно?

Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений