Zend_Http_Cookie (Àº)´Â, ÃßÂû´ë·Î,HTTP Äí۸¦ ³ªÅ¸³»´Â Ŭ·¡½ºÀÔ´Ï´Ù. HTTP ¸®½ºÆù½º ¹®ÀÚ¿À» ÆÛ½º Çϰųª Äí۸¦ ¼öÁýÇϰųª ±×¸®°í ÇÁ·ÓÆÛƼ¿¡ °£´ÜÇÏ°Ô ¾×¼¼½º ÇϰųªÇϱâ À§ÇÑ ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. ¶Ç, Äí۰¡ ¼ÒÁ¤ÀÇ Á¶°Ç¿¡ ¼º³É Çϰí ÀÖÀ»Áö¸¦ Á¶»çÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¸®Äù½ºÆ® URL , À¯È¿±â°£, ½ÃÅ¥¾î Á¢¼ÓÀΰ¡ ¾Æ´Ñ°¡ µîÀ» Á¶»çÇÕ´Ï´Ù.
Zend_Http_CookieJar (Àº)´Â ÁÖ·Î Zend_Http_Client ±×¸®°í ÀÌ¿ëµÇ¾î Çϳª ȤÀº º¹¼öÀÇ Zend_Http_Cookie ¿ÀºêÁ§Æ®¸¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. Zend_Http_CookieJar ¿ÀºêÁ§Æ®¸¦ Zend_Http_Client ¿ÀºêÁ§Æ®¿¡ ¾ÆÅ¿Ä¡ Çϸé, Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ HTTP ¸®Äù½ºÆ®·Î º¸³»Áö´Â ÄíŰ³ª Ŭ¶óÀÌ¾ðÆ®°¡ HTTP ¸®½ºÆù½º·Î ¹Þ´Â Äí۰¡ ¸ðµÎ CookieJar ¿ÀºêÁ§Æ®¿¡ º¸Á¸µË´Ï´Ù.±×¸®°í, Ŭ¶óÀÌ¾ðÆ®°¡ ´Ù¸¥ ¸®Äù½ºÆ®¸¦ ¼Û½ÅÇÒ ¶§ , ¿ì¼± CookieJar ¿ÀºêÁ§Æ®¸¦ Á¶»çÇØ ¸®Äù½ºÆ®¿¡ ¸ÅÄ¡ÇÏ´Â Äí۰¡ ÀÖÀ»Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ¾î´Ã¾úÀ» °æ¿ì´Â, ±×°ÍÀÌ ÀÚµ¿ÀûÀ¸·Î ¸®Äù½ºÆ® Çì´õ¿¡ Ãß°¡µË´Ï´Ù. À̰ÍÀº, ¿¬¼ÓÇß´Ù HTTP ¸®Äù½ºÆ®·Î À¯ÀúÀÇ ¼¼¼ÇÀ» °è¼Ó º¸°ü À¯ÁöÇÏ°í ½ÍÀº °æ¿ì¿¡ Æí¸®ÇÕ´Ï´Ù. ¼¼¼Ç ID ÇÏÁö¸¸ º¸Á¸µÈ Äí۸¦, Çʿ信 µû¶ó¼ ÀÚµ¿ÀûÀ¸·Î ¼Û½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. °Ô´Ù°¡ Çʿ信 µû¶ó¼ Zend_Http_CookieJar ¿ÀºêÁ§Æ®¸¦ ½Ã¸®¾Æ¶óÀÌÁî ÇØ, $_SESSION ¿¡ °Ý³³ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÄíŰ ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀº 2ÅëÀÖ½À´Ï´Ù.
constructor¡¡ ¡¡ À¸·Î ÀÌÇÏ¿Í °°Àº ±¸¹®À» »ç¿ëÇÕ´Ï´Ù. new Zend_Http_Cookie(string
$name, string $value, string $domain, [int $expires, [string $path, [boolean
$secure]]]);
$name
: ÄíŰÀÇ À̸§ ( ·Ê 'PHPSESSID') ( Çʼö)
$value
: ÄíŰÀÇ °ª ( Çʼö)
$domain
: ÄíŰÀÇ µµ¸ÞÀÎ ( ·Ê '.example.com') (
Çʼö)
$expires
: ÄíŰÀÇ À¯È¿±â°£À» ³ªÅ¸³½´Ù UNIX ŸÀÓ ½ºÅÆÇÁ (
¿É¼Ç.µðÆúÆ®´Â null) . ¼³Á¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ì´Â, À¯È¿±â°£ ¾øÀ½ÀÇ ' ¼¼¼Ç ÄíŰ' (À¸)·Î¼ ´Ù·ç¾îÁý´Ï´Ù.
$path
: ÄíŰÀÇ ÆÐ½º.¿¹¸¦ µé¾î '/foo/bar/' ( ¿É¼Ç.µðÆúÆ®´Â
'/')
$secure
: ÄíŰÀÇ ¼Û½ÅÀ» ½ÃÅ¥¾î Á¢¼Ó (HTTPS) ½Ã°£¿¡ ÇÑÁ¤ÇÒÁö
( ¿É¼Ç.µðÆúÆ®´Â FALSE)
Á¤Àû ¸Þ¼Òµå fromString() (À»)¸¦ ÄÝ ÇØ,HTTP ¸®½ºÆù½º Çì´õ 'Set-Cookie' ȤÀº HTTP ¸®Äù½ºÆ® Çì´õ 'Cookie' ¿¡ ´ëÀÀÇÏ´Â ÄíŰ ¹®ÀÚ¿À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ °æ¿ì, ÄíŰÀÇ °ªÀº »çÀü¿¡ encode ÇØ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. ÄíŰ ¹®ÀÚ¿¿¡ 'domain' ºÎºÐÀÌ Æ÷ÇÔµÇÁö ¾Ê´Â °æ¿ì´Â, ÄíŰÀÇ µµ¸ÞÀΰú ÆÐ½º¸¦ ¼³Á¤Çϱâ À§ÇÑ ÂüÁ¶ URI (À»)¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
·Ê 13.20. Zend_Http_Cookie ÀÇ ÀνºÅϽºÀÇ ÀÛ¼º
<?php
//
¿ì¼±Àº constructor¡¡ ¡¡ À» »ç¿ëÇÕ´Ï´Ù.ÀÌ ÄíŰÀÇ À¯È¿±â°£Àº 2½Ã°£ÀÔ´Ï´Ù.
$cookie = new Zend_Http_Cookie('foo', 'bar', '.example.com', time() + 7200, '/path');
// HTTP
¸®½ºÆù½º Çì´õ Set-Cookie
(À»)¸¦ ¼³Á¤ÇØ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
//
ÀÌ ÄíŰ´Â ¹æ±ÝÀüÀÇ °Í°ú °ÅÀÇ °°½À´Ï´Ù¸¸, À¯È¿±â°£Àº ¾ø½À´Ï´Ù.
//
¶Ç, ½ÃÅ¥¾î Á¢¼Ó½Ã¿¡°Ô¸¸ ¼Û½ÅµË´Ï´Ù.
$cookie = Zend_Http_Cookie::fromString('foo=bar; domain=.example.com; path=/path; secure');
//
ÄíŰÀÇ µµ¸ÞÀÎÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â, ¼öµ¿À¸·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
$cookie = Zend_Http_Cookie::fromString('foo=bar; secure;', 'http://www.example.com/path');
?>
![]() |
ÁÖÀÇ |
---|---|
ÄíŰ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇϴµ¥ Zend_Http_Cookie::fromString() ¸Þ¼Òµå¸¦ »ç¿ëÇßÀ» °æ¿ì´Â, ÄíŰÀÇ °ªÀº URL encode µÇ¾î ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. À̰ÍÀº ÄíŰ ¹®ÀÚ¿°ú °°½À´Ï´Ù.±×·¯³ª, constructor¡¡ ¡¡ À» »ç¿ëÇÏ´Â °æ¿ì´Â, encode µÈ °ÍÀÌ ¾Æ´Ï°í, µðÄÚµåµÈ ½ÇÁ¦ÀÇ °ªÀ» »ç¿ëÇÕ´Ï´Ù. |
ÄíŰ ¿ÀºêÁ§Æ®¸¦ ¹®ÀÚ¿·Î º¯È¯ÇÏ·Á¸é , ¸ÅÁ÷ ¸Þ¼Òµå __toString() (À»)¸¦ »ç¿ëÇÕ´Ï´Ù.ÀÌ ¸Þ¼Òµå´Â,HTTP ¸®Äù½ºÆ® Çì´õ "Cookie" ¿ë¹«ÀÇ ¹®ÀÚ¿À» ÀÛ¼ºÇÕ´Ï´Ù. ÄíŰÀÇ À̸§°ú °ªÀÌ Ç¥½ÃµÇ¾î ÃÖÈÄ´Â ¼¼¹ÌÄÝ·Ð (';') µË´Ï´Ù. ÀÌ °ªÀº URL encode µÇ¾î ±×´ë·Î Cookie Çì´õ·Î¼ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
·Ê 13.21. Zend_Http_Cookie ¿ÀºêÁ§Æ®ÀÇ ¹®ÀÚ¿È
<?php
//
»õ·Î¿î Äí۸¦ ÀÛ¼ºÇÕ´Ï´Ù.
$cookie = new Zend_Http_Cookie('foo', 'two words', '.example.com', time() + 7200, '/path');
//
À̰ÍÀº 'foo=two+words;'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù.
echo $cookie->__toString();
//
À§¿Í °°Àº °ÍÀÔ´Ï´Ù.
echo (string) $cookie;
// PHP 5.2
ÀÌÈÄ¿¡¼´Â, À̰ÍÀÌ¶óµµ ±¦Âú½À´Ï´Ù.
echo $cookie;
?>
Zend_Http_Cookie ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇϸé, HTTP ÄíŰÀÇ ´Ù¾çÇÑ ÇÁ·ÓÆÛƼ¸¦ ÃëµæÇϱâ À§ÇÑ ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
string getName()
: ÄíŰÀÇ À̸§À» ÃëµæÇÕ´Ï´Ù.
string getValue()
: µðÄÚµåµÈ ÄíŰÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù.
string getDomain()
: ÄíŰÀÇ µµ¸ÞÀÎÀ» ÃëµæÇÕ´Ï´Ù.
string getPath()
: ÄíŰÀÇ ÆÐ½º¸¦ ÃëµæÇÕ´Ï´Ù.µðÆúÆ®´Â '/' ÀÔ´Ï´Ù.
int getExpiryTime()
: ÄíŰÀÇ À¯È¿±â°£À» UNIX ŸÀÓ ½ºÅÆÇÁ·Î
ÃëµæÇÕ´Ï´Ù. ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â NULL (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
°Ô´Ù°¡ üũ¿ëÀÇ ¸Þ¼Òµåµµ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.
boolean isSecure()
: ÄíŰÀÇ ¼Û½ÅÀÌ ½ÃÅ¥¾î Á¢¼ÓÀ¸·Î ÇÑÁ¤µÇ°í
ÀÖ´ÂÁö ¾î¶²Áö¸¦ Á¶»çÇÕ´Ï´Ù. ¿äÄÁµ¥, ¸¸¾à true (ÀÌ)¶ó¸é ±× ÄíŰ´Â HTTPS ±×¸®°í ¹Û¿¡ ¼Û½ÅµÇÁö ¾Ê´Â´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù.
boolean isExpired(int $time = null)
: Äí۰¡ À¯È¿±â°£
Á¶°¢ÀÌ µÇ¾î ÀÖ´ÂÁö ¾î¶²Áö¸¦ Á¶»çÇÕ´Ï´Ù. À¯È¿±â°£ÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â, Ç×»ó true (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.$time (À»)¸¦
ÁöÁ¤Çϸé, ±× ¶§ °¢ÀÇ ½ÃÁ¡¿¡¼ À¯È¿±â°£ Á¶°¢ÀÌ µÇ´ÂÁö ¾î¶²Áö¸¦ Á¶»çÇÕ´Ï´Ù.
boolean isSessionCookie()
: Äí۰¡ "
¼¼¼Ç ÄíŰ"
, Áï À¯È¿±â°£À» °¡ÁöÁö ¾Ê´Â ÄíŰ ( ¼¼¼Ç Á¾·á½Ã¿¡ ¹«È¿°¡ µÇ´Â ÄíŰ) ÀÏÁö¸¦ Á¶»çÇÕ´Ï´Ù.
·Ê 13.22. Zend_Http_Cookie ÀÇ °ÙŸ¸Þ¼ÚµåÀÇ »ç¿ë¹ý
<?php
//
¿ì¼± Äí۸¦ ÀÛ¼ºÇÕ´Ï´Ù
$cookie = Zend_Http_Client('foo=two+words; domain=.example.com; path=/somedir; secure; expires=Wednesday, 28-Feb-05 20:41:22 UTC');
echo $cookie->getName(); //
À̰ÍÀº 'foo'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo $cookie->getValue(); //
À̰ÍÀº 'two words'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo $cookie->getDomain(); //
À̰ÍÀº '.example.com'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo $cookie->getPath(); //
À̰ÍÀº '/'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo date('Y-m-d', $cookie->getExpiryTime());
//
À̰ÍÀº '2005-02-28'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo ($cookie->isExpired() ? 'Yes' : 'No');
//
À̰ÍÀº 'Yes'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo ($cookie->isExpired(strtotime('2005-01-01') ? 'Yes' : 'No');
//
À̰ÍÀº 'No'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
echo ($cookie->isSessionCookie() ? 'Yes' : 'No');
//
À̰ÍÀº 'No'
(À»)¸¦ Ç¥½ÃÇÕ´Ï´Ù
?>
Á¶»çÇϱâ À§Çؼ Zend_Http_Cookie ¿¡ Æ÷ÇԵǾî ÀÖ´Â °ÍÀº match() ¸Þ¼Òµå »ÓÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϰí, º¸³»·Á
Çϰí ÀÖ´Ù HTTP ¸®Äù½ºÆ®¿¡ µé¾î¸Â´Â ÄíŰÀÏÁö¸¦ Á¶»çÇÕ´Ï´Ù. ±× °á°ú¿¡ ÀÇÇØ¼, Äí۸¦ ÀÌ ¸®Äù½ºÆ®·Î ¼Û½ÅÇÒÁö°¡ Á¤ÇØÁý´Ï´Ù. ¸Þ¼ÒµåÀÇ
±¸¹®À̳ª ÆÄ¶ó¹ÌÅÍÀÇ ³»¿ëÀº ÀÌÇÏ´ë·ÎÀÔ´Ï´Ù. boolean Zend_Http_Cookie->match(mixed
$uri, [boolean $matchSessionCookies, [int $now]]);
mixed $uri
: Zend_Uri_Http ¿ÀºêÁ§Æ®·Î, µµ¸ÞÀÎÀ̳ª ÆÐ½ºÀÇ
üũ¿¡ »ç¿ëÇÕ´Ï´Ù.¿É¼ÇÀ¸·Î¼ ¿Ã¹Ù¸¥ Çü½ÄÀÇ URL (À»)¸¦ ¹®ÀÚ¿·Î °Ç³×ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. ÁöÁ¤Çß´Ù URL ÀÇ ½ºÅ´ (HTTP
ȤÀº HTTPS) , µµ¸ÞÀÎ ¹× ÆÐ½º°¡ ¸ðµÎ ÀÏÄ¡ÇßÀ» °æ¿ì¿¡°Ô¸¸, Äí۰¡ ¸ÅÄ¡ÇÕ´Ï´Ù.
boolean $matchSessionCookies
: ¼¼¼Ç Äí۸¦ ¼º³ÉÀÇ ´ë»óÀ¸·Î
ÇÒÁö. µðÆúÆ®´Â true ÀÔ´Ï´Ù.false (À¸)·Î ¼³Á¤Çϸé, À¯È¿±â°£ÀÇ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº ÄíŰ´Â ¸ÅÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.
int $now
: ÄíŰÀÇ À¯È¿±â°£À» üũÇÏ´Â ±âÁØÀÌ µÇ´Â ½Ã°¢ (UNIX ŸÀÓ
½ºÅÆÇÁ Çü½Ä) .ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ìÀÇ µðÆúÆ®´Â, ÇöÀç ½Ã°¢ÀÔ´Ï´Ù.
·Ê 13.23. Äí۰¡ ¸ÅÄ¡ÇÒÁöÀÇ È®ÀÎ
<?php
//
¿ì¼± ÄíŰ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.À̰ÍÀº ½ÃÅ¥¾îÀÎ ¼¼¼Ç ÄíŰÀÔ´Ï´Ù.
$cookie = Zend_Http_Client('foo=two+words; domain=.example.com; path=/somedir; secure;');
$cookie->match('https://www.example.com/somedir/foo.php');
//
À̰ÍÀº true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
$cookie->match('http://www.example.com/somedir/foo.php');
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.Á¢¼ÓÀÌ ½ÃÅ¥¾î°¡ ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù.
$cookie->match('https://otherexample.com/somedir/foo.php');
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.µµ¸ÞÀÎÀÌ Â÷À̰¡ ³ª±â ¶§¹®ÀÔ´Ï´Ù.
$cookie->match('https://example.com/foo.php');
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.ÆÐ½º°¡ Â÷À̰¡ ³ª±â ¶§¹®ÀÔ´Ï´Ù.
$cookie->match('https://www.example.com/somedir/foo.php', false);
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.¼¼¼Ç ÄíŰ´Â ¼º³É ½ÃŰÁö ¾Ê°Ô Çϰí Àֱ⠶§¹®ÀÔ´Ï´Ù.
$cookie->match('https://sub.domain.example.com/somedir/otherdir/foo.php');
//
À̰ÍÀº true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
//
´Ù¸¥ ÄíŰ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.À̹øÀº ½ÃÅ¥¾î°¡ ¾Æ´Ï°í, 2½Ã°£¿¡ À¯È¿±â°£ Á¶°¢ÀÌ µË´Ï´Ù.
$cookie = Zend_Http_Client('foo=two+words; domain=www.example.com; expires=' . date(DATE_COOKIE, time() + 7200);
$cookie->match('http://www.example.com/');
//
À̰ÍÀº true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
$cookie->match('https://www.example.com/');
//
À̰ÍÀº true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.½ÃÅ¥¾î°¡ ¾Æ´Ñ ÄíŰ´Â, ½ÃÅ¥¾îÀÎ Åë½Å¿¡¼µµ ¼Û½ÅµË´Ï´Ù!
$cookie->match('http://subdomain.example.com/');
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.µµ¸ÞÀÎÀÌ Â÷À̰¡ ³ª±â ¶§¹®ÀÔ´Ï´Ù.
$cookie->match('http://www.example.com/', true, time() + (3 * 3600));
//
À̰ÍÀº false
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.Áö±ÝºÎÅÍ 3½Ã°£ Èĸ¦ ½Ã°¢À» ÁöÁ¤Ç߱⠶§¹®¿¡ÀÔ´Ï´Ù.
?>
Zend_Http_CookieJar ÀÇ ÀνºÅϽº¸¦ Á÷Á¢ ÀÛ¼ºÇÒ ÇÊ¿ä´Â, ¿ì¼± ¾ø½À´Ï´Ù. »õ·Î¿î ÄíŰ Àü±â¹äÅëÀ» Zend_Http_Client ¿ÀºêÁ§Æ®¿¡ ¾ÆÅ¿Ä¡ ÇÏ·Á¸é , ´ÜÁö Zend_Http_Client->setCookieJar() ¸Þ¼Òµå¸¦ ÄÝ Çϸé ÁÁ½À´Ï´Ù.À̰ÍÀ¸·Î, »õ·Î¿î ÇÏ´ÃÀÇ ÄíŰ Àü±â¹äÅëÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ Ãß°¡µË´Ï´Ù.ÀÌ ÄíŰ Àü±â¹äÅëÀ» ÃëµæÇÏ·Á¸é Zend_Http_Client->getCookieJar() (À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
±×·±µ¥µµ ¿ª½Ã ½º½º·Î CookieJar ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ°í ½Í´Ù°í ÇÑ´Ù¸é, "new Zend_Http_CookieJar()" (¿Í)°ú Á÷Á¢ ÄÝ ÇØ ÁÖ¼¼¿ä. constructor¡¡ ¡¡ ¿¡´Â Àμö¸¦ ¾Æ¹«°Íµµ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â ¶Ç ÇϳªÀÇ ¹æ¹ýÀ¸·Î¼´Â, Á¤Àû ¸Þ¼Òµå Zend_Http_CookieJar::fromResponse() (À»)¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â µÎ °³ÀÇ ÆÄ¶ó¹ÌÅ͸¦ ¹Þ½À´Ï´Ù.¿ì¼± ÃÖÃʰ¡ Zend_Http_Response ¿ÀºêÁ§Æ®, ±×¸®°í µÑ°´Â ÂüÁ¶Ã³ URI ±×¸®°í, À̰ÍÀº ¹®ÀÚ¿ ȤÀº Zend_Uri_Http ¿ÀºêÁ§Æ®ÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â »õ·Ó´Ù Zend_Http_CookieJar ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¿ÀºêÁ§Æ®¿¡´Â, ÁöÁ¤Çß´Ù HTTP ¸®½ºÆù½º¿¡ ÀÇÇØ¼ ¼³Á¤µÈ Äí۰¡ ÀÌ¹Ì Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÄíŰÀÇ µµ¸ÞÀΰú ÆÐ½º°¡ Set-Cookie Çì´õ·Î ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â, ÂüÁ¶Ã³ URI (À»)¸¦ »ç¿ëÇØ ¼³Á¤ÇÕ´Ï´Ù.
Åë»óÀº,CookieJar ¿ÀºêÁ§Æ®¸¦ Ãß°¡Çß´Ù Zend_Http_Client ¿ÀºêÁ§Æ®°¡ ÀÚµ¿ÀûÀ¸·Î 󸮸¦ ½Ç½ÃÇØ, HTTP ¸®½ºÆù½º·Î ¼³Á¤µÈ Äí۸¦ Àü±â¹äÅë¿¡ Ãß°¡ÇØ ÁÝ´Ï´Ù. ½º½º·Î Äí۸¦ Àü±â¹äÅë¿¡ Ãß°¡ÇÏ·Á¸é , 2Åë¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
Zend_Http_CookieJar->addCookie($cookie[, $ref_uri])
:
´ÜÀÏÀÇ Äí۸¦ Àü±â¹äÅë¿¡ Ãß°¡ÇÕ´Ï´Ù.$cookie ¿¡´Â Zend_Http_Cookie ¿ÀºêÁ§Æ® ȤÀº ¹®ÀÚ¿À» ÁöÁ¤ÇÕ´Ï´Ù.¹®ÀÚ¿Àº
ÀÚµ¿ÀûÀ¸·Î Cookie ¿ÀºêÁ§Æ®¿¡ º¯È¯µË´Ï´Ù.¹®ÀÚ¿À» ÁöÁ¤ÇÏ´Â °æ¿ì´Â, µ¿½Ã¿¡ $ref_uri µµ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.À̰ÍÀº
ÂüÁ¶Ã³ URI ±×¸®°í, ¹®ÀÚ¿ ȤÀº Zend_Uri_Http ¿ÀºêÁ§Æ®¸¦ °Ç³×ÁÝ´Ï´Ù.À̰ÍÀ» ±âÃÊ·Î ÇØ¼, ÄíŰÀÇ µðÆúÆ®ÀÇ µµ¸ÞÀΰú
ÆÐ½º¸¦ °áÁ¤ÇÕ´Ï´Ù.
Zend_Http_CookieJar->addCookiesFromResponse($response,
$ref_uri)
: HTTP ¸®½ºÆù½º³»ÀÇ ¸ðµç Äí۸¦ Àü±â¹äÅë¿¡ Ãß°¡ÇÕ´Ï´Ù. $response ÇÏ Set-Cookie
Çì´õÆ÷ÇÔÀÇ Zend_Http_Response ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. $ref_uri (Àº)´Â ÂüÁ¶Ã³ URI ±×¸®°í, ¹®ÀÚ¿ ȤÀº Zend_Uri_Http
¿ÀºêÁ§Æ®°¡ µË´Ï´Ù. À̰ÍÀ» ±âÃÊ·Î ÇØ¼, ÄíŰÀÇ µðÆúÆ®ÀÇ µµ¸ÞÀΰú ÆÐ½º¸¦ °áÁ¤ÇÕ´Ï´Ù.
Äí۸¦ Ãß°¡ÇÏ´Â °æ¿ì¿Í °°ÀÌ, Äí۸¦ Àü±â¹äÅëÀ¸·ÎºÎÅÍ ÃëµæÇÏ´Â ÀÛ¾÷¿¡ ´ëÇØ¼µµ Åë»óÀº ¼öµ¿À¸·Î ½Ç½ÃÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.Zend_Http_Client
¿ÀºêÁ§Æ®´Â, ±× HTTP ¸®Äù½ºÆ®·Î ÇÊ¿äÇÑ Äí۸¦ ÀÚµ¿ÀûÀ¸·Î ÃëµæÇÕ´Ï´Ù. ±×·¸Áö¸¸, Àü±â¹äÅëÀ¸·ÎºÎÅÍ ¼öµ¿À¸·Î Äí۸¦ ÃëµæÇϱâ À§ÇÑ ¹æ¹ýµµ
Á¦°øµÇ°í ÀÖ½À´Ï´Ù. getCookie()
, getAllCookies()
¹× getMatchingCookies()
ÀÇ
3°Å¸®ÀÇ ¹æ¹ýÀÔ´Ï´Ù.
ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº, ÀÌ·¯ÇÑ ¸Þ¼Òµå°¡ Ưº°ÇÑ ÆÄ¶ó¹ÌÅ͸¦ ¹Þ°Ô µÇ¾î ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ·Î, ¸Þ¼ÒµåÀÇ µ¹¾Æ°¡ °ªÀÇ ÇüŸ¦ ÁöÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ªÀº ´ÙÀ½ÀÇ 3Á¾·ùÀÔ´Ï´Ù.
Zend_Http_CookieJar::COOKIE_OBJECT
: Zend_Http_Cookie
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â Äí۰¡ º¹¼öÀÇ °æ¿ì´Â, ¿ÀºêÁ§Æ®ÀÇ ¹è¿À» µ¹·ÁÁÝ´Ï´Ù.
Zend_Http_CookieJar::COOKIE_STRING_ARRAY
:
"foo=bar"
Çü½ÄÀÇ ¹®ÀÚ¿À» µ¹·ÁÁÝ´Ï´Ù.À̰ÍÀº,HTTP ¸®Äù½ºÆ®ÀÇ "Cookie"
Çì´õ·Î »ç¿ëÇÒ ¼ö ÀÖ´Â Çü½ÄÀÔ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â Äí۰¡ º¹¼öÀÇ °æ¿ì´Â, ¹®ÀÚ¿ÀÇ ¹è¿À» µ¹·ÁÁÝ´Ï´Ù.
Zend_Http_CookieJar::COOKIE_STRING_CONCAT
:
COOKIE_STRING_ARRAY (¿Í)°ú ´à¾Æ ÀÖ½À´Ï´Ù¸¸, µ¹·ÁÁÖ¾îÁö´Â Äí۰¡ º¹¼öÀÇ °æ¿ì¿¡´Â ±×°ÍµéÀ» ÇϳªÀÇ ±ä ¹®ÀÚ¿¿¡
¿¬°áÇØ µ¹·ÁÁÝ´Ï´Ù. ´Ü¶ô ¹®ÀÚ´Â ¼¼¹ÌÄÝ·Ð (;) µË´Ï´Ù. À̰ÍÀº, ¸ÅÄ¡ÇÏ´Â ¸ðµç Äí۸¦ ´ÜÀÏÀÇ HTTP ¸®Äù½ºÆ® Çì´õ
"Cookie"
±×¸®°í ¼Û½ÅÇÏ°í ½ÍÀº °æ¿ì¿¡ ¸Å¿ì Æí¸®ÇÕ´Ï´Ù.
ÄíŰ ÃëµæÀ» À§ÇÑ ´Ù¾çÇÑ ¸Þ¼ÒµåÀÇ °Í¿¡ ÀÓÇØ¼ ¼³¸íÇÕ´Ï´Ù.
Zend_Http_CookieJar->getCookie($uri, $cookie_name[,
$ret_as])
: ±× URI ( µµ¸ÞÀÎ ¹× ÆÐ½º) (¿Í)°ú À̸§¿¡ ÀǰÅÇϰí, Àü±â¹äÅëÀ¸·ÎºÎÅÍ ´ÜÀÏÀÇ Äí۸¦ ÃëµæÇÕ´Ï´Ù.
$uri (Àº)´Â ¹®ÀÚ¿Àΰ¡ Zend_Uri_Http ¿ÀºêÁ§Æ®·Î,URI (À»)¸¦ ³ªÅ¸³À´Ï´Ù. $cookie_name (Àº)´Â
Äí۸íÀ» ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÔ´Ï´Ù. $ret_as (Àº)´Â ¹æ±ÝÀü ¼³¸íÇÑ °Íó·³ µ¹¾Æ°¡ °ªÀÇ ÇüŸ¦ ÁöÁ¤ÇÕ´Ï´Ù. $ret_type
(Àº)´Â ¿É¼ÇÀ¸·Î, µðÆúÆ®´Â COOKIE_OBJECT ÀÔ´Ï´Ù.
Zend_Http_CookieJar->getAllCookies($ret_as)
:
Àü±â¹äÅëÀ¸·ÎºÎÅÍ ¸ðµç Äí۸¦ ÃëµæÇÕ´Ï´Ù. $ret_as (Àº)´Â ¹æ±ÝÀü ¼³¸íÇÑ °Íó·³ µ¹¾Æ°¡ °ªÀÇ ÇüŸ¦ ÁöÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÏÁö
¾Ê¾Ò´ø °æ¿ìÀÇ $ret_type ÀÇ µðÆúÆ®´Â,COOKIE_OBJECT µË´Ï´Ù.
Zend_Http_CookieJar->getMatchingCookies($uri[,
$matchSessionCookies[, $ret_as[, $now]]])
: ÁöÁ¤ÇÑ Á¶°ÇÀ» ä¿ì´Â ¸ðµç Äí۸¦ Àü±â¹äÅëÀ¸·ÎºÎÅÍ
ÃëµæÇÕ´Ï´Ù. Á¶°ÇÀ¸·Î¼ ÁöÁ¤ÇÏ´Â °ÍÀº,URI ¹× À¯È¿±â°£ÀÔ´Ï´Ù.
$uri
ÇÏ Zend_Uri_Http ¿ÀºêÁ§Æ® ȤÀº ¹®ÀÚ¿ÀÔ´Ï´Ù. Á¢¼Ó
Çü½Ä ( ½ÃÅ¥¾îÀΰ¡ ±×·¸Áö ¾ÊÀº°¡) , µµ¸ÞÀÎ ¹× ÆÐ½ºÀÇ Á¶°ÇÀ» ÁöÁ¤ÇÕ´Ï´Ù.
$matchSessionCookies
ÇÏ boolean °ªÀ¸·Î, ¼¼¼Ç
Äí۸¦ Æ÷ÇÔÇÒÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¼¼¼Ç Äí۶õ, À¯È¿±â°£ÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº ÄíŰÀÔ´Ï´Ù. µðÆúÆ®´Â true ÀÔ´Ï´Ù.
$ret_as
(Àº)´Â, ¹æ±ÝÀü ¼³¸íÇÑ °Íó·³ µ¹¾Æ°¡ °ªÀÇ ÇüŸ¦ ÁöÁ¤ÇÕ´Ï´Ù.
ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ìÀÇ µðÆúÆ®´Â COOKIE_OBJECT ÀÔ´Ï´Ù.
$now
(Àº)´Â Á¤¼öÄ¡·Î ³ªÅ¸³Â´Ù UNIX ŸÀÓ ½ºÅÆÇÁ·Î, À̰ÍÀ» "
ÇöÀç ½Ã°¢"
(À¸)·Î¼ Ãë±ÞÇÕ´Ï´Ù. À¯È¿±â°£ÀÌ ÀÌ ½Ã°¢º¸´Ù ÀüÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Â ÄíŰ´Â
¸ÅÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ìÀÇ µðÆúƮġ´Â, ÇöÀç ½Ã°¢ÀÔ´Ï´Ù.
ÄíŰÀÇ ¸ÅÄ¡ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº Ç×13.4.4. ¡¸Zend_Http_Cookie ÇÏÁö¸¸ Á¶°Ç¿¡ ÀÏÄ¡ÇÒ °ÍÀÎÁö ¾î¶²Áö¸¦ Á¶»çÇÑ´Ù¡¹ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.