Vector logo of the PHP programming language wi...

Днес ще драсна едно леко четиво за php cache को html. Тука говорим за кеширане на изхода от кода ни а не както съм писал да кешираме скритповете до Opcode ниво с eAccelerator. Така за какво иде речнека да си припомним на бързо работата на php-то. Подаваме заявка на web server-वह हमें एक पैरामीटर है जो हम इसे प्रस्तुत तो उन्हें php स्क्रिप्ट वह compiles और बाहर थूक परिणाम html संस्करण में प्रस्तुत स्वीकार करता है. यह एक काफी सामान्य लाइनों में है. Каква ще е идеята ни тука да прескачаме заявки, да прескачаме големи блокове или не чак толкова големи блокове като директно изрисуваме вече веднъж компилирания изход. Преимуществата са очевиднинамаляна на времето за изпълнение, по малко натоварване и потребление на ресурси. Като цяло не е откриване на топлата вода нито е нещо кой знае колко сложно. Има множество класове за тая цел като पीएचपी Pear Cache_Lite който разполага с прекрасна функционалност но аз мисля в бъдеще да си напиша мой с доста по облекчена структура и мой си изисквания към кеширането. Сега ще разгледаме най аборигенския вариант с Output Control Functions. Така нека да кешираме нещо

//start cache all output after that will be saved

ob_start();

//generate output

echo 'Some dynamic output';

echo 'Some other dynamic output ...';

//assign output into variable

$var=ob_get_contents();

//close cache output

ob_end_flush();

Горния код е тривиален но нека да обясним какво стана. Първо декларираме от коя част в кода започва кеширането. След това си генерираме по стандартен начин изхода от кода. फिर जनरेट किया गया आउटपुट बाद में उपलब्ध होने वाले चर में शामिल होता है, चाहे वह फ़ाइल में हो या सत्रों के दौरान, यह आपका निर्णय है. Накрая изчистваме и прекратяваме кеширането. काफी एक तुच्छ आपरेशन अगर चलो कहते हैं geeriraneto कैश कोड के विशाल ब्लॉकों के माध्यम से चला जाता है तो हम थोड़ी देर के लिए बाहर नकद के रूप में CPU समय की एक बहुत कुछ बचा सकता है, या एक सत्र के लिए. अब यह सब के बारे में क्या आप चाहते हैं कि कैश करने के लिए जनता के लिए उपलब्ध कराया गया है या विभिन्न उपयोगकर्ताओं के लिए सुलभ है.

Zemanta द्वारा बढ़ाया