Кеширане с PEAR и Cache_Lite
PEAR (PHP Extension and Application Repository) е система за PHP за управление на пакети. Както добре знаете PHP потребителите нараснаха главоломно в последните няколко години и именно поради тази причина започна да се предлага много код във формата на сорс кодове, на готови класове, различни библиотеки и прочее. Но това в крайна сметка е колкото полезно, толкова и неудобно, главно поради причината, че е доста трудно да следите за нови версии на използваните от вас пакети. Представете си, че използвате над 200 пакета и класа – тогава ще ви се налага всеки ден да проверявате 200 сайта дали случайно не се е пръкнало нова версия. Много програмисти се абстрахираха от тази ситуация и започнаха сами да поддържат собствени библиотеки, но това е крайно не оптимизирано от гледна точка на това, че им се налага да откриват топлата вода, при положение, че тя вече е открита. Все пак и този вариант си има своите предимства, но няма смисъл да разказвам за това сега.
Това което PEAR предлага е инсталатор, който представлява инструмент за управление на пакети, пакети за библиотечен код, както и пакети с разширения PECL. За повече информация може да посетите официалната страница на PEAR и да се запознаете отблизо с предлаганите удобства на проекта.
Тук искам да споделя колко лесно и удобно е кеширането с PEAR. Предлагат се два пакета – единия е Cache, другия Cache_Lite. Основната разлика между двата пакета е, че Cache_Lite както сами може да се досетите от името му е по-лек, по-бърз и по-пъргав, за сметка на функционалността на Cache. PEAR Cache_Lite позволява да заредите единствено класа Cache_Lite за да използвате целия пакет. Няма нужда от множество други класове и кодовете, като вариантите за кеширане са: обикновено кеширане на данни, кеширане на изходни данни от PHP, както и върнати от функции стойности. За предимствата на кеширането не смятам да говоря, би трябвало да са ясни на всички.
Ето един прост пример като съм се постарал той да бъде разбран от всички, като сами се убедите, колко е полезно кеширането, а и колко лесно става с Cache_lite.
<?php
/**
* @author Veselin Todorov
* @copyright 2009
* @link http://www.veselin.bg/
* @project Cache_Lite demo
*/
require_once ‘Cache/Lite/Output.php’; // извикване на пакета
$cache = new Cache_Lite_Output(array(‘lifeTime’ => 60, ‘cacheDir’ => ‘tmp/my_cache/’)); //LifeTime – колко време ще важи кеша, в случая 1 минута, cacheDir – къде ще се пази кеша
if ($cache->start(‘vreme_kesh’)) {
} else {
echo ‘Времето на кеширане е: ‘ . date(‘H:i:s’); // След 1 минута тази стойност ще е друга.
$cache->end();
}
?>
Кратко обяснение какво правим в този код. Първо правим общи настройки за кеша, тоест директория за кеширане и колко време ще бъде валиден той. След което проверяваме дали имаме валиден кеш за „vreme_kesh“, ако има функцията връща истина и кеша се показва. В случай че няма се прави нов кеш. Това е в общи линии. Беше много лесно нали? Да, наистина е лесно и бързо. Пожелавам ви приятно кеширане с Cache_Lite
Прочетете още:






Калоян К. Цветков 29 май 2009
Мисля, че историята около PEAR::Cache_Lite е по-различна, и че е направен като клас, защото тромавото PEAR::Cache никой не го е ползвал (горе-долу същата история като защо аз исках да направя Asido).
А какво е това @project ? Какво ползваш за автоматично генериране на документация ? Питам, защото в phpDoc има @category, @package и @subpackage но май няма @project.
admin 29 май 2009
Ами да прав си @project не фигурира в phpDocumentor, аз лично го използвам за собствена ориентация. Иначе генерирам с phpDesigner или Coda според зависи от платформата
Публикувай коментар (dofollow)
ТИ :)