Zend_Session_Namespace
ÀÇ ÀνºÅϽº°¡,Zend Framework
ÀÇ ¼¼¼Ç µ¥ÀÌÅ͸¦ Á¶ÀÛÇϱâ À§ÇÑ ±âº»ÀûÀÎ API (À»)¸¦ Á¦°øÇÕ´Ï´Ù. À̸§ °ø°£À» »ç¿ëÇÏ¸é ¼¼¼Ç µ¥ÀÌÅ͸¦ °³º°ÀûÀ¸·Î Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸,
¼¼¼Ç µ¥ÀÌÅÍ Àüü¸¦ ÇϳªÀÇ À̸§ °ø°£¿¡¼ Ãë±ÞÇÏ°í ½ÍÀº »ç¶÷À» À§ÇÑ µðÆúÆ® À̸§ °ø°£µµ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. Zend_Session_Namespace
(Àº)´Â,ext/session
¹× ½´ÆÛ ±Û·Î¹ú º¯¼ö $_SESSION
(À»)¸¦ »ç¿ëÇϰí, ¼¼¼Ç »óÅÂÀÇ µ¥ÀÌÅ͸¦ º¸Á¸ÇÕ´Ï´Ù. $_SESSION
(Àº)´Â
±Û·Î¹úÇÏ°Ô ¾×¼¼½º °¡´ÉÇÕ´Ï´Ù¸¸, °³¹ßÀÚ´Â À̰Ϳ¡ ´ëÇØ¼ Á÷Á¢ ¾×¼¼½º ÇÏ´Â °ÍÀº ±×¸¸µÎ¾î¾ß ÇÕ´Ï´Ù. Zend_Session
¹× Zend_Session_Namespace
(À»)¸¦
ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î, ¼¼¼Ç °ü·ÃÀÇ ±â´ÉÀ» º¸´Ù È¿À²Àû ÇÑÆí ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
¾Æ¹«°Íµµ À̸§ °ø°£À» Çϰí ÀÖ¾î ÇÏÁö ¾Ê°í Zend_Session ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇϸé, ¸ðµç µ¥ÀÌÅÍ´Â Åõ°úÀûÀ¸·Î "Default
"
(ÀÌ)¶ó´Â À̸§ÀÇ À̸§ °ø°£¿¡ º¸Á¸µË´Ï´Ù. Zend_Session
(Àº)´Â, ¼¼¼Ç À̸§
°ø°£ ÄÁÅ×À̳ÊÀÇ ³»¿ëÀ» Á÷Á¢ Á¶ÀÛÇϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù.±× ´ë½ÅÀ¸·Î¼ Zend_Session_Namespace
(À»)¸¦
»ç¿ëÇÕ´Ï´Ù. ÀÌÇÏÀÇ ¿¹´Â, ÀÌ µðÆúÆ®ÀÇ À̸§ °ø°£À» »ç¿ëÇØ À¯Àú°¡ ±× ÆäÀÌÁö¸¦ ¸îȸ ¿¶÷Çß´ÂÁö¸¦ ¼¼´Â ¹æ¹ýÀ» ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù. ½ÇÁ¦·Î
½ÃÇèÇØ º¸°í ½ÍÀº °æ¿ì´Â, ÀÌÇÏÀÇ Äڵ带 ZF ÀÇ ±âµ¿ ÆÄÀϳ»¿¡ ±â¼úÇÕ´Ï´Ù
·Ê 25.1. ÆäÀÌÁöºäÀÇ ¼¼´Â ¹æ¹ý
<?php
require_once 'Zend/Session.php';
$defaultNamespace = new Zend_Session_Namespace('Default');
// use the magic method __isset() in Zend_Session_Namespace:
if (isset($defaultNamespace->numberOfPageRequests)) {
$defaultNamespace->numberOfPageRequests++; //
À̰ÍÀÌ, ÆäÀÌÁö°¡ ÀÐÈú ¶§¸¶´Ù °¡»êµË´Ï´Ù
} else {
$defaultNamespace->numberOfPageRequests = 1; //
1ȸ°
}
echo "
ÀÌ ¼¼¼ÇÀ¸·Î ÆäÀÌÁö°¡ ¸®Äù½ºÆ® µÈ ȸ¼ö: ", $defaultNamespace->numberOfPageRequests;
?>
Zend_Session_Namespace ÀÇ ¼ö¸¹Àº ÀÌÁ¡ Áß Çϳª¿¡, º¹¼öÀÇ ¸ðµâÀÌ °¢°¢ ´Ù¸¥ ·¹º§ÀÇ Ä¸½¶È¸¦ ½Ç½ÃÇÒ ¼ö ÀÖ´Ù°í ÇÏ´Â Á¡ÀÌ ÀÖ½À´Ï´Ù. Zend_Session_Namespace ÀÇ constructor¡¡ ¡¡ ¿¡´Â, ¿É¼ÇÀÇ Àμö $namespace (À»)¸¦ °Ç³×ÁÙ ¼ö ÀÖ½À´Ï´Ù.À̰ÍÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î, ¾î´À ÄÄÆÛ³ÍÆ®³ª ¸ðµâ, ÄÚµåÀÇ µ¥ÀÌÅͰ¡ ´Ù¸¥ ÄÄÆÛ³ÍÆ®³ª ¸ðµâ, ÄÚµå·ÎºÎÅÍ ÁöÄÑÁö°Ô µË´Ï´Ù. À̸§ °ø°£Àº, ¼¼¼Ç »óÅ µ¥ÀÌÅͰ¡ °©Àڱ⠺¯°æµÇ¾î ¹ö¸®´Â °ÍÀ» ¸·´Â´Ù È¿À²ÀûÀ¸·Î " ¾ÈÀüÇÑ" ±¸Á¶¸¦ Á¦°øÇÕ´Ï´Ù. À̸§ °ø°£¸í¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº, ÇÏ´ÃÀÌ ¾Æ´Ï´Ù PHP ¹®ÀÚ¿ÀÔ´Ï´Ù. ¼±µÎ¿¡ ¾ð´õ ½ºÄÚ¾Æ ('_') ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. 'Zend_' ±×¸®°í ½ÃÀ۵Ǵ À̸§ °ø°£À» »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº,Zend Framework ÀÇ ÄÚ¾î ÄÄÆÛ³ÍÆ®¸¸ÀÔ´Ï´Ù.
·Ê 25.2. »õ·Î¿î ¹æ¹ý: À̸§ °ø°£ÀÇ Ãæµ¹À» ÇÇÇÑ´Ù
<?php
// Zend_Auth
ÄÄÆÛ³ÍÆ®¿ë
require_once 'Zend/Session.php';
$authNamespace = new Zend_Session_Namespace('Zend_Auth');
$authNamespace->user = "myusername";
//
À¥ ¼ºñ½º ÄÄÆÛ³ÍÆ®¿ë
$webServiceNamespace = new Zend_Session_Namespace('Some_Web_Service');
$webServiceNamespace->user = "mywebusername";
?>
À§ÀÇ ¿¹´Â, ÀÌ ¾Æ·¡ÀÇ ÄÚµå¿Í °°Àº °á°ú°¡ µË´Ï´Ù. ´ÜÁö, À§ÀÇ ¿¹¿¡¼´Â ¼¼¼Ç µ¥ÀÌÅͰ¡ °¢°¢ÀÇ À̸§ °ø°£¿¡¼ ĸ½¶ÈµÇ°í ÀÖ½À´Ï´Ù.
Zend_Session_Namespace
ÇÏ IteratorAggregate
ÀÎÅÍÆäÀ̽º (À»)¸¦ ¿ÏÀüÇÏ°Ô ½ÇÀåÇϰí ÀÖ¾î,foreach
¹®ÀåÀ» ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.
Åë»óÀÇ ¾×¼¼½º¿ëÀ¸·Î, ¸ÅÁ÷ ¸Þ¼Òµå __set() ,__unset() ,__isset() ¹× __get() (À»)¸¦ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.ÀÌ·¯ÇÑ ¸ÅÁ÷ ¸Þ¼Òµå¸¦, Zend_Session ÀÇ ¼ºê Ŭ·¡½º Àܷ̿κÎÅÍ Á÷Á¢ »ç¿ë ÇØ¼´Â ¾ÈµË´Ï´Ù.±× ´ë½Å¿¡, ÀÌÇÏ¿Í °°ÀÌ Åë»óÀÇ ¿¬»êÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù.