4.3. Zend_Cache ÀÇ ÇÁ·ÐÆ®¿£µå

4.3.1. Zend_Cache_Core

4.3.1.1. µµÀÔ

Zend_Cache_Core (Àº)´Â Ưº°ÇÑ ÇÁ·ÐÆ®¿£µåÀ̸ç, ¸ðµâÀÇ Äھ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.À̰ÍÀº ij½¬ ÇÁ·ÐÆ®¿£µåÀÇ ±âº» ±â´ÉÀ» ½ÇÀåÇÑ °ÍÀ̾î, ´Ù¸¥ Ŭ·¡½º¿¡ ÀÇÇØ¼­ ¿À¹ö¶óÀ̵å(override) µË´Ï´Ù.

[
ÁÖÀÇ] ÁÖÀÇ

±× ¿ÜÀÇ ÇÁ·ÐÆ®¿£µå Ŭ·¡½º´Â, ¸ðµÎ Zend_Cache_Core (À»)¸¦ °è½ÂÇϰí ÀÖ¾î, ÀÌÇÏ·Î ¼³¸íÇϰí ÀÖ´Â ¸Þ¼Òµå ¹× ¿É¼ÇÀº ´Ù¸¥ ÇÁ·ÐÆ®¿£µå¿¡¼­µµ »ç¿ë °¡´ÉÇÕ´Ï´Ù.±× ¶§¹®¿¡, ¿©±â¿¡¼­´Â À̰͵鿡 ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·« ÇÕ´Ï´Ù.

4.3.1.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

ÀÌ·¯ÇÑ ¿É¼ÇÀ», ¾ÕÀÇ ¿¹·Î ³ªÅ¸³» º¸ÀÎ °Íó·³ ÆÑÅ丮 ¸Þ¼Òµå¿¡ °Ç³×ÁÝ´Ï´Ù.

Ç¥ 4.1. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

¿É¼Ç µ¥ÀÌÅÍÇü µðÆúƮġ ¼³¸í
caching boolean true ij½ÌÀ» À¯È¿/ ¹«È¿·Î ÇÕ´Ï´Ù ( ij½¬µÈ ½ºÅ©¸³Æ®ÀÇ µð¹ö±×½Ã¿¡ À¯¿ëÇÕ´Ï´Ù) .
lifeTime int 3600 ij½¬ÀÇ À¯È¿±â°£ ( ÃÊ) .null (À»)¸¦ ÁöÁ¤Çϸé, À¯È¿±â°£ÀÌ ¹«±âÇÑÀÌ µË´Ï´Ù.
logging boolean false true (À»)¸¦ ÁöÁ¤Çϸé,Zend_Log ¿¡ ÀÇÇÑ ·Î±ëÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù ( ±×·¯³ª, ó¸® ¼Óµµ´Â ÀúÇÏÇÕ´Ï´Ù) .
writeControl boolean true ±âÀÔ Á¦¾î¸¦ À¯È¿/ ¹«È¿·Î ÇÕ´Ï´Ù ( ¸Á°¡Áø ¿£Æ®¸®¸¦ °ËÃâÇϱâ À§ÇØ(¶§¹®¿¡), ¾´ Á÷ÈÄ¿¡ ±× ij½¬¸¦ ÀоîµéÀÔ´Ï´Ù) . writeControl (À»)¸¦ À¯È¿ÇÏ°Ô Çϸé, ij½¬ÀÇ ±âÀÔÀÌ ¾à°£ ´Ê¾îÁý´Ï´Ù¸¸, ÀÐÀ» ¼Óµµ´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù ( À̰ÍÀº ij½¬ ÆÄÀÏÀÌ ¸Á°¡Á® ÀÖ´ÂÁö ¾î¶²Áö¸¦ Á¶»çÇÏ´Â °ÍÀÔ´Ï´Ù¸¸, ¿ÏÀüÇÏ°Ô ÆÇ´ÜÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù) .
automaticSerialization boolean false ÀÚµ¿ ½Ã¸®¾Æ¶óÀÌÁ À¯È¿/ ¹«È¿·Î ÇÕ´Ï´Ù. ¹®ÀÚ¿­ÀÌ ¾Æ´Ñ µ¥ÀÌÅ͸¦ Á÷Á¢ º¸Á¸ÇÒ ¶§¿¡ »ç¿ëÇÕ´Ï´Ù ( ±×·¯³ª, ó¸® ¼Óµµ´Â ÀúÇÏÇÕ´Ï´Ù) .
automaticCleaningFactor int 10 ÀÚµ¿ Ŭ¸° ¾÷ ÇÁ·Î¼¼½º ( °¡º£Áö ¼öÁý°¡) ÀÇ ¼³Á¤À» ½Ç½ÃÇÕ´Ï´Ù. 0 (À»)¸¦ ÁöÁ¤Çϸé, ÀÚµ¿ ij½¬ Ŭ¸®´×À» ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. 1 (À»)¸¦ ÁöÁ¤ÇÏ¸é °èȹÀûÀ¸·Î ij½¬ÀÇ Å¬¸®´×À» ½Ç½ÃÇØ, ¶Ç x (1 º¸´Ù Å« Á¤¼ö) (À»)¸¦ ÁöÁ¤Çϸé, x ȸÀÇ Ä³½¬ ±âÀÔ¿¡ ´ëÇØ 1 ȸÀÇ ºóµµ·Î ·£´ý¿¡ ÀÚµ¿ Ŭ¸®´×À» ½Ç½ÃÇÕ´Ï´Ù.

4.3.1.3. ·Ê

¸Þ´º¾óÀÇ °¡Àå ÃÊ ÂÊ¿¡, ¿¹¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.

¸¸¾à ij½¬¿¡ ¹®ÀÚ¿­ ¹Û¿¡ º¸Á¸ÇÏÁö ¾Ê´Â´Ù¸é ("automaticSerialization" ¿É¼ÇÀ» »ç¿ëÇϸé boolean µµ º¸Á¸ÇÒ ¼ö ÀÖÀ¸¹Ç·Î) , ÀÌ¿Í °°ÀÌ Á» ´õ ÄÄÆÑÆ®ÇÏ°Ô ÀÛ¼ºÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.


<?php  
             
//  ¹ú½á $cache  ÇÏÁö¸¸ Á¸ÀçÇÏ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù

$id 'myBigLoop'// ¡¸Ä³½¬ÇÏ°í ½ÍÀº ³»¿ë¡¹ÀÇ Ä³½¬ ID

if (!($data $cache->load($id))) {
    
//  ij½¬°¡ Á¸ÀçÇÏÁö ¾Ê¾Ò½À´Ï´Ù
    
    
$data '';
    for (
$i 0$i 10000$i++) {
        
$data $data $i;
    }
    
    
$cache->save($data);
    


// [...] $data  (À»)¸¦ ÀÌ¿ëÇØ ¹«¾ùÀΰ¡¸¦ ÇÕ´Ï´Ù (echo  Çϰųª ¹«¾ð°¡¿¡ °Ç³×Áְųª)
             
?>

º¹¼öÀÇ ºí·ÏÀ̳ª µ¥ÀÌÅÍÀÇ ÀνºÅϽº¸¦ ij½¬ÇÏ°í ½ÍÀº °æ¿ìµµ, »ý°¢Àº °°½À´Ï´Ù.


<?php  
             
//  ÀÏÀÇÀΠID  (À»)¸¦ »ç¿ëÇϵµ·Ï ÇսôÙ
$id1 'foo';
$id2 'bar';

//  ºí·Ï 1
if (!($data $cache->load($id1))) {
    
//  ij½¬°¡ Á¸ÀçÇÏÁö ¾Ê¾Ò½À´Ï´Ù
    
    
$data '';
    for (
$i=0;$i<10000;$i++) {
        
$data $data $i;
    }
    
    
$cache->save($data);
    

echo(
$data);

//  À̰ÍÀº, ij½¬ ó¸®ÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù
echo(' ij½¬µÇÁö ¾Ê½À´Ï´Ù !');

//  ºí·Ï 2
if (!($data $cache->load($id2))) {
    
//  ij½¬°¡ Á¸ÀçÇÏÁö ¾Ê¾Ò½À´Ï´Ù
    
    
$data '';
    for (
$i=0;$i<10000;$i++) {
        
$data $data '!';
    }
    
    
$cache->save($data);
    

echo(
$data);

?>

4.3.2. Zend_Cache_Frontend_Output

4.3.2.1. µµÀÔ

Zend_Cache_Frontend_Output (Àº)´Â, Ãâ·ÂÀ» Ⱦ·ÉÇÏ´Â ÇÁ·ÐÆ®¿£µåÀÔ´Ï´Ù. À̰ÍÀº PHP ÀÇ Ãâ·Â ¹öÆÛ¸µ 󸮸¦ »ç¿ëÇϱ⠽±°Ô ÇÑ °ÍÀ¸·Î, start() ¸Þ¼Òµå¿Í end() ¸Þ¼ÒµåÀÇ »çÀÌÀÇ Ãâ·ÂÀ» Ⱦ·ÉÇÕ´Ï´Ù.

4.3.2.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

Zend_Cache_Core ÀÇ ¿É¼Ç À̿ܿ¡, ÀÌ ÇÁ·ÐÆ®¿£µå°¡ µ¶ÀÚÀûÀ¸·Î »ç¿ëÇÏ´Â ¿É¼ÇÀº ¾ø½À´Ï´Ù.

4.3.2.3. ·Ê

ÀÌ ¸Þ´º¾óÀÇ ¸ðµÎ¿¡ ³ªÅ¸³½ ¿¹¿Í °ÅÀÇ °°½À´Ï´Ù¸¸, ¾à°£ º¯°æÀ» ´õÇϰí ÀÖ½À´Ï´Ù.


<?php

//  ij½¬°¡ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡, Ãâ·Â ¹öÆÛ¸µÀÌ ±âµ¿ÇÕ´Ï´Ù
if(!$cache->start('mypage')):

//  ¸ðµç °ÍÀ» ¾ðÁ¦³ªÃ³·³ Ãâ·ÂÇÕ´Ï´Ù
echo 'Hello world! ';
echo 
' À̰ÍÀº ij½¬µË´Ï´Ù ('.time().') ';

$cache->end(); //  Ãâ·Â ¹öÆÛ¸µÀ» Á¾·áÇÕ´Ï´Ù
endif;

echo 
' À̰ÍÀº ij½¬µÇÁö ¾Ê½À´Ï´Ù ('.time().')';

?>

ÀÌ Çü½ÄÀ» »ç¿ëÇϸé, ±âÁ¸ÀÇ ÇÁ·ÎÁ§Æ®¿¡ °£´ÜÇÏ°Ô Ãâ·Â ij½¬ 󸮸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÚµåÀÇ ¸®ÆÄũŸ¸µµµ °ÅÀÇ ½Ç½ÃÇÏÁö ¾Ê°í ³¡³¾ ¼ö ÀÖ°ÚÁö¿ä.

4.3.3. Zend_Cache_Frontend_Function

4.3.3.1. µµÀÔ

Zend_Cache_Frontend_Function (Àº)´Â, ÇÔ¼ö ÄÝÀÇ °á°ú¸¦ ij½¬ÇÕ´Ï´Ù. call() ±×·¸´Ù°í ÇÏ´Â ¸Þ¼Òµå¸¦ º¸°ü À¯ÁöÇϰí ÀÖ¾î, ÇÔ¼ö¸í°ú ÆÄ¶ó¹ÌÅ͸¦ ¹è¿­·Î ÇØ ÀÌ ¸Þ¼Òµå¿¡ °Ç³×ÁÝ´Ï´Ù.

4.3.3.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

Ç¥ 4.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

¿É¼Ç µ¥ÀÌÅÍÇü µðÆúƮġ ¼³¸í
cacheByDefault boolean true true ÀÇ °æ¿ì´Â, ÇÔ¼öÀÇ ÄÝ °á°ú°¡ µðÆúÆ®·Î ij½¬µË´Ï´Ù.
cachedFunctions array Ç×»ó ij½¬µÇ´Â ÇÔ¼öÀÇ À̸§.
nonCachedFunctions array °áÄÚ Ä³½¬µÇÁö ¾Ê´Â ÇÔ¼öÀÇ À̸§.

4.3.3.3. ·Ê

call() ÇÔ¼öÀÇ »ç¿ë¹ýÀº,PHP ÀÇ call_user_func_array() (¿Í)°ú °°½À´Ï´Ù.


<?php

$cache
->call('veryExpensiveFunc'$params);

# $params  (Àº)´Â ¹è¿­ÀÔ´Ï´Ù.
#  ¿¹¸¦ µé¸é,veryExpensiveFunc(1, 'foo', 'bar')  ÀÇ ÄÝÀ» ij½¬ÇÏ·Á¸é
# $cache->call('veryExpensiveFunc', array(1, 'foo', 'bar'))  (À¸)·Î ÇÕ´Ï´Ù.

?>

Zend_Cache_Frontend_Function (Àº)´Â, ÇÔ¼öÀÇ µ¹¾Æ°¡ °ª »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÇÔ¼ö ³»ºÎ¿¡¼­ÀÇ Ãâ·Âµµ ij½¬ÇÕ´Ï´Ù.

[
ÁÖÀÇ] ÁÖÀÇ

array() ,echo() ,empty() ,eval() , exit() ,isset() ,list() ,print() ¹× unset() À̿ܶó¸é, ÀÓÀÇÀÇ ÆíÀÔ ÇÔ¼ö³ª À¯Àú Á¤ÀÇ ÇÔ¼ö¸¦ °Ç³×ÁÙ ¼ö ÀÖ½À´Ï´Ù.

4.3.4. Zend_Cache_Frontend_Class

4.3.4.1. µµÀÔ

Zend_Cache_Frontend_Class (Àº)´Â,Zend_Cache_Frontend_Function (¿Í)°ú ´Þ¸®, ¿ÀºêÁ§Æ® ¹× ½ºÅÂÆ½ ¸Þ¼ÒµåÀÇ ÄÝÀ» ij½¬ÇÕ´Ï´Ù.

4.3.4.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

Ç¥ 4.3. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

¿É¼Ç µ¥ÀÌÅÍÇü µðÆúƮġ ¼³¸í
cachedEntity ( Çʼö) mixed Ŭ·¡½º¸íÀ» ¼³Á¤Çϸé, Ãß»ó Ŭ·¡½º ¹× ½ºÅÂÆ½ ÄÝÀ» ij½¬ÇÕ´Ï´Ù. ¿ÀºêÁ§Æ®¸¦ ¼³Á¤Çϸé, ±× ¿ÀºêÁ§Æ®ÀÇ ¸Þ¼Òµå¸¦ ij½¬ÇÕ´Ï´Ù.
cacheByDefault boolean true true (À»)¸¦ ¼³Á¤Çϸé, µðÆúÆ®·Î ij½¬µË´Ï´Ù.
cachedMethods array Ç×»ó ij½¬µÇ´Â ¸Þ¼ÒµåÀÇ À̸§.
nonCachedMethods array °áÄÚ Ä³½¬µÇÁö ¾Ê´Â ¸Þ¼ÒµåÀÇ À̸§.

4.3.4.3. ·Ê

¿¹¸¦ µé¸é, ½ºÅÂÆ½ ¸Þ¼ÒµåÀÇ ÄÝÀ» ij½¬ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.


<?php

class test {
   
    
#  ½ºÅÂÆ½ ¸Þ¼Òµå
    
public static function foobar($param1$param2) {
        echo 
"foobar_output($param1, $param2)";
        return 
"foobar_return($param1, $param2)";   
    }

}

// [...]
$frontendOptions = array(
    
'cachedEntity' => 'test' //  Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÕ´Ï´Ù
);
// [...]

#  À̰ÍÀº ij½¬µË´Ï´Ù
$res $cache->foobar('1''2');

?>

Åë»óÀÇ ¸Þ¼ÒµåÀÇ ÄÝÀ» ij½¬ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.


<?php

class test {
   
    private 
$_string 'hello !';
      
    public function 
foobar2($param1$param2) {
        echo(
$this->_string);
        echo 
"foobar2_output($param1, $param2)";
        return 
"foobar2_return($param1, $param2)";   
    }

}

// [...]
$frontendOptions = array(
    
'cachedEntity' => new test() //  Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ÁöÁ¤ÇÕ´Ï´Ù
);
// [...]

#  À̰ÍÀº ij½¬µË´Ï´Ù
$res $cache->foobar2('1''2');

?>

4.3.5. Zend_Cache_Frontend_File

4.3.5.1. µµÀÔ

Zend_Cache_Frontend_File (Àº)´Â, master fileÀÇ ¡¸°»½Å ½Ã°¢¡¹¿¡ ÀǰÅÇØ µ¿ÀÛÇÏ´Â ÇÁ·ÐÆ®¿£µåÀÔ´Ï´Ù. À̰ÍÀº, ¿¹¸¦ µé¸é ¼³Á¤ ÆÄÀÏÀ̳ª ÅÛÇø´µîÀ¸·Î À¯È¿ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ°ÚÁö¿ä.

¿¹¸¦ µé¸é,XML ÀÇ ¼³Á¤ ÆÄÀÏÀ» »ç¿ëÇϰí ÀÖ¾î, ±×°ÍÀÌ ¡¸¼³Á¤ ¿ÀºêÁ§Æ®¡¹ (Zend_Config µî) (À»)¸¦ µ¹·ÁÁÖ´Â ÇÔ¼ö·Î ÆÛ½º µÈ´Ù°í ÇսôÙ. Zend_Cache_Frontend_File (À»)¸¦ »ç¿ëÇϸé, ±× ¡¸¼³Á¤ ¿ÀºêÁ§Æ®¡¹ (À»)¸¦ ij½¬ÇÏ´Â °ÍÀÌ ¼º°ú ( À̰Ϳ¡ ÀÇÇØ, XML ÆÄÀÏÀ» ¸Åȸ ÆÛ½º ÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù) , ÇÑÃþ ´õ ¡¸master file¡¹ (¿Í)°úÀÇ »çÀÌ¿¡ °­·ÂÇÑ ÀÇÁ¸¼ºÀ» º¸°ü À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.±× ¶§¹®¿¡,XML ¼³Á¤ ÆÄÀÏÀÌ °»½ÅµÇ¸é, Áï½Ã¿¡ ij½¬°¡ ¹«È¿°¡ µË´Ï´Ù.

4.3.5.2. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

Ç¥ 4.4. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

¿É¼Ç µ¥ÀÌÅÍÇü µðÆúƮġ ¼³¸í
masterFile ( Çʼö) string master file¿¡ÀÇ Ç® ÆÐ½º.

4.3.5.3. ·Ê

ÀÌ ÇÁ·ÐÆ®¿£µåÀÇ »ç¿ë¹ýÀº Zend_Cache_Core (¿Í)°ú °°½À´Ï´Ù. ±× ¶§¹®¿¡, ƯÈ÷ ¿¹´Â ÁغñÇØ ÀÖÁö ¾Ê½À´Ï´Ù.À¯ÀÏ ÇØ¾ß ÇÏ´Â °ÍÀº, ÆÑÅ丮¸¦ »ç¿ëÇÒ ¶§¿¡, ¿¬±¸ ÃÖÁ¾ ´Ü°èÀÇ ¿É¼ÇÀ¸·Î¼­ masterFile (À»)¸¦ ¼³Á¤ÇÏ´Â °Í »ÓÀÔ´Ï´Ù.

4.3.6. Zend_Cache_Frontend_Page

4.3.6.1. µµÀÔ

Zend_Cache_Frontend_Page ÇÏ Zend_Cache_Frontend_Output (¿Í)°ú ´à¾Æ ÀÖ½À´Ï´Ù¸¸, ÆäÀÌÁö Àüü¸¦ ij½¬ÇÏ´Â ¸ñÀûÀ¸·Î ¼³°èµÇ°í ÀÖ½À´Ï´Ù. Zend_Cache_Frontend_Page (À»)¸¦ »ç¿ëÇϰí, ÆäÀÌÁöÀÇ ÀϺθ¸À» ij½¬ÇÒ ¼ö ¾ø½À´Ï´Ù.

ÇÑÆí, ¡¸Ä³½¬ ID ¡¹(Àº)´Â ÀÚµ¿ÀûÀ¸·Î »ý¼ºµË´Ï´Ù.ÀÌ ID (Àº)´Â, $_SERVER['REQUEST_URI'] ¹× ( ¿É¼ÇÀÇ ¼³Á¤¿¡ µû¶ó¼­´Â) $_GET ,$_POST ,$_SESSION , $_COOKIE ,$_FILES (À»)¸¦ ±âÃÊ·Î ÇØ¼­ »ý¼ºµË´Ï´Ù. °Ô´Ù°¡ ÇϳªÀÇ ¸Þ¼Òµå (start()) (À»)¸¦ ÄÝ ÇÏ´Â °Í¸¸À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. end() (Àº)´Â, ÆäÀÌÁöÀÇ Á¾·á½Ã¿¡ ÀÚµ¿ÀûÀ¸·Î ÄÝ µË´Ï´Ù.

Çö½ÃÁ¡¿¡¼­´Â ¾ÆÁ÷ ½ÇÀåµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù¸¸, Àå·¡´Â HTTP conditional ½Ã½ºÅÛÀ» Ãß°¡ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ³×Æ®¿öÅ©ÀÇ ´ë¿ªÀ» Àý¾àÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù ( ij½¬¿¡ È÷Æ® ÇØ, ÇÑÆí ºê¶ó¿ìÀú°¡ ±× ¹öÁ¯À» ÀÌ¹Ì °¡Áö°í ÀÖ´Â °æ¿ì¿¡ HTTP 304 Not Modified (À»)¸¦ ¼Û½ÅÇϵµ·Ï(µíÀÌ) ÇÕ´Ï´Ù) .

[
ÁÖÀÇ] ÁÖÀÇ

Zend_Cache_Frontend_Page (Àº)´Â ¡¸¾ËÆÄÆÇ¡¹À̸ç, ½Ç¿ë ÇÒ ¼ö ÀÖ°Ô µÇ±â±îÁö´Â ¾ÆÁ÷µµ ½Ã°£ÀÌ °É¸®°ÚÁö¿ä.

4.3.6.2. (Zend_Cache ÆÑÅ丮·Î, ÀÌ ÇÁ·ÐÆ®¿£µå¸¦ »ç¿ëÇÒ ¶§¿¡) »ç¿ë °¡´ÉÇÑ ¿É¼Ç

Ç¥ 4.5. »ç¿ë °¡´ÉÇÑ ¿É¼Ç

¿É¼Ç µ¥ÀÌÅÍÇü µðÆúƮġ ¼³¸í
httpConditional boolean false httpConditional ½Ã½ºÅÛÀ» »ç¿ëÇÕ´Ï´Ù ( Çö½ÃÁ¡¿¡¼­´Â ¾ÆÁ÷ ½ÇÀåµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù) .
debugHeader boolean false true ÀÇ °æ¿ì´Â, ij½¬µÈ °¢ ÆäÀÌÁöÀÇ ¼±µÎ¿¡ µð¹ö±×¿ë ÅØ½ºÆ®°¡ Ãß°¡µË´Ï´Ù.
defaultOptions array array(... ¼³¸íÀ» ÂüÁ¶ÇØ ÁֽʽÿÀ...) µðÆúÆ®ÀÇ ¿É¼ÇÀ» ³ªÅ¸³»´Â ¿¬»ó ¹è¿­ÀÔ´Ï´Ù.
  • (boolean, µðÆúÆ®´Â true) cache : true ÀÇ °æ¿ì´Â ij½¬°¡ À¯È¿ÇÏ°Ô µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â false) cacheWithGetVariables : true ÀÇ °æ¿ì´Â,$_GET ¹è¿­¿¡ º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬°¡ ¿Â´ë·Î µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â false) cacheWithPostVariables : true ÀÇ °æ¿ì´Â,$_POST ¹è¿­¿¡ º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬°¡ ¿Â´ë·Î µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â false) cacheWithSessionVariables : true ÀÇ °æ¿ì´Â,$_SESSION ¹è¿­¿¡ º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬°¡ ¿Â´ë·Î µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â false) cacheWithFilesVariables : true ÀÇ °æ¿ì´Â,$_FILES ¹è¿­¿¡ º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬°¡ ¿Â´ë·Î µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â false) cacheWithCookieVariables : true ÀÇ °æ¿ì´Â,$_COOKIE ¹è¿­¿¡ º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬°¡ ¿Â´ë·Î µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â true) makeIdWithGetVariables : true ÀÇ °æ¿ì´Â, ij½¬ ID ÇÏÁö¸¸ $_GET ¹è¿­ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â true) makeIdWithPostVariables : true ÀÇ °æ¿ì´Â, ij½¬ ID ÇÏÁö¸¸ $_POST ¹è¿­ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â true) makeIdWithSessionVariables : true ÀÇ °æ¿ì´Â, ij½¬ ID ÇÏÁö¸¸ $_SESSION ¹è¿­ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â true) makeIdWithFilesVariables : true ÀÇ °æ¿ì´Â, ij½¬ ID ÇÏÁö¸¸ $_FILES ¹è¿­ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù.

  • (boolean, µðÆúÆ®´Â true) makeIdWithCookieVariables : true ÀÇ °æ¿ì´Â, ij½¬ ID ÇÏÁö¸¸ $_COOKIE ¹è¿­ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù.

regexps array array() ƯÁ¤ÀÇ REQUEST_URI ¿¡ ´ëÇØ¼­¸¸ Àû¿ëÇÏ´Â ¿É¼ÇÀ» ¼³Á¤ÇÏ´Â ¿¬»ó ¹è¿­ÀÔ´Ï´Ù. ۰¡ (PCRE ÀÇ) Á¤±Ô Ç¥Çö, ´ëÀÀÇÏ´Â °ªÀº ¿¬»ó ¹è¿­ÀÌ µË´Ï´Ù. ÀÌ ¿¬»ó ¹è¿­¿¡´Â, Á¤±Ô Ç¥ÇöÀÌ $_SERVER['REQUEST_URI'] ¿¡ ¸ÅÄ¡ÇßÀ» °æ¿ì·Î ¼³Á¤µÇ´Â ¿É¼ÇÀ» ¼³Á¤ÇÕ´Ï´Ù ( »ç¿ë °¡´ÉÇÑ ¿É¼Ç¿¡ ´ëÇØ¼­´Â defaultOptions (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ) . º¹¼öÀÇ Á¤±Ô Ç¥ÇöÀÌ $_SERVER['REQUEST_URI'] ¿¡ ¸ÅÄ¡ÇßÀ» °æ¿ì´Â, Á¦ÀÏ ¸¶Áö¸·¿¡ ¸ÅÄ¡ÇßÁö¸¸ ºÁ°¡ »ç¿ëµË´Ï´Ù.

4.3.6.3. ·Ê

Zend_Cache_Frontend_Page ÀÇ »ç¿ë¹ýÀº, ±ØÈ÷ °£´ÜÇÕ´Ï´Ù.


<?php
               
// [...] // require , ¼³Á¤ ±×¸®°í ÆÑÅ丮
    
$cache->start();
//  ij½¬¿¡ È÷Æ® ÇßÀ» °æ¿ì´Â ±× °á°ú°¡ ºê¶ó¿ìÀú¿¡ ¼Û½ÅµÇ¾î 󸮴 ¿©±â¼­ Á¤ÁöÇÕ´Ï´Ù
    
//  ÆäÀÌÁöÀÇ ³ª¸ÓÁöÀÇ ºÎºÐ ...
    
?>

Á» ´õ º¹ÀâÇÑ ¿¹¸¦ º¾½Ã´Ù.À̰ÍÀº, ±âµ¿ ÆÄÀÏ ( ¿¹¸¦ µé¸é Zend_Controller µî) ¾È¿¡¼­ ij½¬¸¦ ÁýÁß°ü¸®ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.


<?php

// [...]  ij½¬ ¼½¼ÇÀÇ Àü¿¡´Â, ³Ê¹« ¸¹Àº ÇàÀ» ¾²Áö ¾Êµµ·Ï ÇսôÙ.
// [...]  ¿¹¸¦ µé¸é, ó¸® ¼Óµµ¸¦ ÃÖÀûÈ­Çϱâ À§Çؼ­´Â "require_once"  (ÀÌ)³ª "Zend::loadClass"
// [...]  (À»)¸¦ ij½¬ ¼½¼ÇÀÇ µÚ¿¡ µÎ¾î¾ß ÇÕ´Ï´Ù.

require_once 'Zend/Cache.php';

$frontendOptions = array(
   
'lifeTime' => 7200,
   
'debugHeader' => true//  µð¹ö±×¿ë
   
'regexps' => array(
       
'^/$' => array('cache' => true),         // IndexController  Àüü¸¦ ij½¬ÇÕ´Ï´Ù
       
'^/index/' => array('cache' => true),    // IndexController  Àüü¸¦ ij½¬ÇÕ´Ï´Ù
       
'^/article/' => array('cache' => false), // ArticleController  (Àº)´Â ij½¬ÇÏÁö ¾Ê½À´Ï´Ù
       
'^/article/view/' => array(              //  ¡¦¡¦ÇÏÁö¸¸,ArticleController  ÀÇ "view"  ¾×¼ÇÀº
           
'cache' => true,                     //  ij½¬ÇÕ´Ï´Ù.¶Ç, ºñ·Ï $_POST  ¿¡ ¾î¶°ÇÑ
           
'cacheWithPostVariables' => true,    //  º¯¼ö°¡ Æ÷ÇԵǾî À־ ij½¬¸¦ ½Ç½ÃÇÕ´Ï´Ù
           
'makeIdWithPostVariables' => true,   // ( ±×·¯³ª, ±× ij½¬´Â $_POST  ¹è¿­¿¡ ÀÇÁ¸ÇÕ´Ï´Ù) .
       
)
   )      
);
$backendOptions = array(
    
'cacheDir' => '/tmp/' 
);

// Zend_Cache_Frontend_Page  ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÕ´Ï´Ù
$cache Zend_Cache::factory('Page''File'$frontendOptions$backendOptions);

$cache->start();
//  ij½¬¿¡ È÷Æ® ÇßÀ» °æ¿ì´Â ±× °á°ú°¡ ºê¶ó¿ìÀú¿¡ ¼Û½ÅµÇ¾î ½ºÅ©¸³Æ®ÀÇ Ã³¸®´Â ¿©±â¼­ Á¤ÁöÇÕ´Ï´Ù.

// [...]  ±âµ¿ ÆÄÀÏÀÇ Á¾Á¡ ( ÀÌ·¯ÇÑ ÇàÀº, ij½¬¿¡ È÷Æ® ÇßÀ» °æ¿ì´Â ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù) .
                
?>