(Object:°´Ã¼,º¯¼ö¸¶¹«¸®,Constants:»ó¼ö)
¾È³çÇϼ¼¿ä. À̹ø °Á¿¡¼´Â PHP ÀÇ object ¿¡ ´ëÇØ¼ ¾Ë¾Æº»´Ù°í Àü¿¡ ¸»¾¸µå·È½À´Ï´Ù.
±×·±µ¥ Á» °í¹ÎÀ» ÇØº» °á°ú ¹ú½á °´Ã¼ÁöÇâ¿¡ ´ëÇØ ¾Ë°ÔµÇ¸é ¾ÕÀ¸·ÎÀÇ °Á¿¡ Á» ¹®Á¦°¡ »ý±æ°Í °°´Ù´Â »ý°¢°ú ÀÌÁ¦ ½ÃÀÛÇϽô ºÐµéÀ» ´õ È¥¶õ½º·´°Ô ¸¸µé¼ö Àֱ⠶§¹®¿¡ ¿ì¼±Àº Object º¯¼ö ŸÀÔÀÌ ÀÖ´Ù´Â °Í¸¸ ¾Ë¾Æº¸°í ³Ñ¾î°¡µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌ ºÎºÐÀº ÀÏ¹Ý °Á°¡ ³¡³ª°í ³ª¼ ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù. ±×·³ °´Ã¼°¡ ¹ºÁö¸¸ °£´ÜÈ÷ ¼³¸íÇÏ°í ³Ñ¾î°¡µµ·Ï ÇϰڽÀ´Ï´Ù.
1. °´Ã¼(Object) º¯¼ö
PHP4¸¦ ÀÌ¿ëÇØ¼ È®½ÇÇÑ °´Ã¼ÁöÇâÀû ÇÁ·Î±×·¥À» Çϱâ Èûµé´ä´Ï´Ù. ÇÏÁö¸¸ PHP5¿¡¼´Â °ÅÀÇ ¿Ïº®ÇÑ °´Ã¼ÁöÇâ ÇÁ·Î±×·¥ÀÌ °¡´ÉÇØ Áö°í ÀÖ½À´Ï´Ù. PHP5´Â ¾ÆÁ÷ Á¤½Ä ¹öÀüÀÌ ³ª¿ÀÁø ¾Ê¾ÒÁö¸¸ ¸¹Àº »ç¶÷µéÀÌ ±â´ëÇϰí ÀÖ´Â ¹öÀüÀÌÁÒ...^^
°´Ã¼´Â Ŭ·¡½º(class)¸¦ ÀÌ¿ëÇØ »ý¼ºÇÕ´Ï´Ù. Ŭ·¡½º´Â ƯÁ¤ º¯¼öµé ±×¸®°í ÀÌ º¯¼öµé°ú °°ÀÌ µ¿ÀÛÇÏ´Â ÇÔ¼öÀÇ ÁýÇÕü¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¾Æ·¡ °£´ÜÇÑ ¿¹Á¦¸¦ º¸¼¼¿ä.
<?
class Test {
var $num;
function Test() {
$this->num = 0;
}
function AddNum() {
$this->num++;
}
funtion SubNum() {
$this->num--;
}
funtion PrintNum() {
echo $this->num;
}
}
$tt = new Test(); // °´Ã¼ »ý¼º
$tt->AddNum(); // AddNum() ÇÔ¼ö È£Ãâ
$tt->AddNum(); // AddNum() ÇÔ¼ö È£Ãâ
$tt->SubNum(); // SubNum() ÇÔ¼ö È£Ãâ
$tt->PrintNum(); // PrintNum() ÇÔ¼ö È£Ãâ
?>
ÀÚ À§ÀÇ ¿¹Á¦¸¦ ½ÇÇà½Ã۸é ȸ鿡´Â 1 ÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. À§ class ´Â $num À̶õ º¯¼ö¿Í Test ¶ó´Â »ý¼ºÀÚ¿Í ¼¼°¡ÁöÀÇ ÇÔ¼öµé·Î ÀÌ·ç¿öÀú ÀÖ½À´Ï´Ù. class ¿¡¼ class À̸§°ú °°Àº À̸§ÀÇ ÇÔ¼ö´Â »ý¼ºÀÚ¶ó°í Çϸç ÀÌ »ý¼ºÀÚ ÇÔ¼ö´Â class ¸¦ ÀÌ¿ëÇØ¼ °´Ã¼¸¦ »ý¼ºÇÔ°ú µ¿½Ã¿¡ ½ÇÇàÀÌ µË´Ï´Ù.
À§ ¿¹Á¦¿¡¼ new Test() ºÎºÐÀÌ °´Ã¼¸¦ »ý¼ºÇÏ´Â ºÎºÐÀÌ µÇ°Ú½À´Ï´Ù. ±×¸®°í ÇÔ¼ö ¾È¿¡ $this->num À̶ó°í µÇ¾î Àִµ¥¿ä ÇϳªÀÇ class ¾È¿¡¼ °°Àº Ŭ·¡½ºÀÇ º¯¼ö ¶Ç´Â ÇÔ¼ö¿¡ Á¢±ÙÀ» ÇÏ·Á¸é this Ű¿öµå¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. Áï $num º¯¼öÁ¢±ÙÀº À§ÀÇ ¿¹Àúó·³ $this->num À¸·Î Á¢±ÙÀ» ÇÏ°í ¸¸¾à AddNum() ÇÔ¼ö¿¡¼ PrintNum() ÇÔ¼ö¸¦ È£ÃâÇÏ·ÁÇÑ´Ù¸é... $this->PrintNum() À¸·Î Á¢±ÙÀ» ÇØ¾ß ÇÑ´ä´Ï´Ù.
ÀÚ ±×·³ ÇϳªÀÇ ÁýÇÕü¸¦ new Ű¿öµå¸¦ ÀÌ¿ëÇØ¼ ÇϳªÀÇ º¯¼ö¿¡ ÁöÁ¤À» Çϸé ÇØ´ç º¯¼ö´Â °´Ã¼(Object) ŸÀÔÀÇ º¯¼ö°¡ µÇ´Â °ÍÀÔ´Ï´Ù. ´Ù¸¥ º¯¼öµé°ú Á» ¼º°ÝÀÌ ¸¹ÀÌ ´Ù¸£ÁÒ. ÀÌ ÈÄ·Î´Â ÇØ´ç º¯¼ö¸íÀ» ÀÌ¿ëÇØ¼ class ÀÇ º¯¼ö ¶Ç´Â ÇÔ¼ö¿¡ Á¢±Ù ¹× »ç¿ëÀÌ °¡´ÉÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.
ÀÌÁ¦ º¯¼öÀÇ Object ŸÀÔÀÌ ¹«¾ùÀÎÁö´Â ´ëÃæ °¨À» ÀâÀ¸¼ÌÀ¸¸®¶ó »ý°¢µË´Ï´Ù. ¾ÕÀ¸·Î °Á¸¦ ¡ÇàÇÏ¸é¼ ¾Ë¸ÂÀº ½ÃÁ¡¿¡¼ °´Ã¼ÁöÇâ ÇÁ·Î±×·¥¿¡ ´ëÇØ¼ ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù. ±×¶§ ±îÁö´Â Àá½Ã ÀØÀ¸¼Åµµ µÇ´Â ºÎºÐÀÔ´Ï´Ù...^^a
2. º¯¼ö (Ãß°¡Á¤º¸)
º¯¼öÀÇ ±âº» »ç¿ë¹æ¹ýÀ» ÀÌÀü °ÁÂ·Î ÃæºÐÈ÷ ÀÌÇØ ÇϼÌÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. ±×·±µ¥ ¸î°¡Áö ±â¾ïÇϽðí À¯¿ëÇÏ°Ô »ç¿ëÇÏ½Ç ¼ö ÀÖ´Â ºÎºÐµéÀÌ ÀÖ½À´Ï´Ù. ¿ì¼± º¯¼ö°¡ »ç¿ëµÇ´Â ¿µ¿ªÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù.
<?
$a = "Áö¿ëÀÌ";
function test() {
echo $a;
}
test();
?>
À§¿¡ ¿¹Á¦¸¦ ½ÇÇà½ÃÄÑ º¸½Ã¸é ¾Æ¹« °Íµµ Ãâ·ÂÀÌ µÇÁö ¾Ê½À´Ï´Ù. ÀÌÀ¯´Â ÇÔ¼ö test() ¾È¿¡¼ »ç¿ëµÇ´Â $a º¯¼ö¿Í ±× Àü¿¡ Á¤ÀÇµÈ $a º¯¼ö´Â ¼·Î ´Ù¸¥ º¯¼öÀ̱⠶§¹®ÀÔ´Ï´Ù. ÇÔ¼ö¾È¿¡¼ »ç¿ëµÈ º¯¼ö¸¦ ¿ì¸®´Â Áö¿ªº¯¼ö¶ó°í ºÎ¸¨´Ï´Ù. test() ¶ó´Â Áö¿ª¾È¿¡¼ »ç¿ëµÇ´Â º¯¼ö¶ó´Â ¸»ÀÌÁÒ. ±×·³ test() ÇÔ¼ö ¹Û¿¡ ÀÖ´Â º¯¼ö¸¦ »ç¿ëÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ßÇϳª?
function test() {
global $a;
echo $a;
}
À§¿Í °°ÀÌ global Ű¿öµå¸¦ »ç¿ëÇϸé Àü¿ªº¯¼ö·Î ÁöÁ¤ÀÌ µÇ¸ç test() ÇÔ¼ö¿¡¼µµ $a º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ±×·±µ¥ $a º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ¹æ¹ýÀÌ ¶Ç ÀÖ´ä´Ï´Ù.
¿ì¼± ¾Ë¾Æ¾ß ÇÒ °ÍÀÌ ÇÔ¼ö ¹Û¿¡¼ ¼±¾ðµÈ $a º¯¼ö´Â ¼±¾ð°ú µ¿½Ã¿¡ Àü¿ªº¯¼ö°¡ µÇ´Â °ÍÀÔ´Ï´Ù. ´ÜÁö test() ÇÔ¼ö¿¡¼´Â ¿ÜºÎ¿¡¼ ¼±¾ðµÈ Àü¿ªº¯¼ö $a ¸¦ »ç¿ëÇÒ °ÍÀÎÁö ¾Æ´Ô ÇÔ¼ö ¾È¿¡ Áö¿ªº¯¼ö·Î¼ÀÇ $a ¸¦ »ç¿ëÇÒ °ÍÀÎÁö¸¦ ÇÔ¼ö ³»¿¡¼ °áÁ¤À» ÇÏ´Â °ÍÀÌÁö¿ä.
PHP ¿¡¼´Â À§¿¡¼ ¸»ÇÑ Àü¿ªº¯¼öµéÀ» $GLOBALS ¶ó´Â º¯¼ö¸¦ ÀÌ¿ëÇØ¼ Á¢±ÙÇÒ ¼ö ÀÖ´ä´Ï´Ù. $GLOBALS ´Â ½´ÆÛÀü¿ªº¯¼ö¶ó°í Çϸç ÀÌ º¯¼ö´Â ¾îµð¼³ª ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ´ä´Ï´Ù. ±×·³ À§ÀÇ ¿¹Á¦¸¦ Á¶±Ý ¼öÁ¤ÇØ º¸¸é...
function test() {
echo $GLOBALS["a"];
}
À§¿Í °°ÀÌ »ç¿ëÇÒ ¼öÀÖ´Â °ÍÀÌÁÒ...^^
À½ ±×·³ ½´ÆÛÀü¿ªº¯¼ö¶ó´Â °ÍÀÌ $GLOBALS Çϳª ¹Û¿¡ ¾øÀ»±î¿ä? ¾Æ·¡ ½´ÆÛÀü¿ªº¯¼öµé ÀÔ´Ï´Ù.
(¾Æ·¡ ³»¿ëÀº PHP ¸Þ´º¾ó¿¡¼ º¹»çÇØ ¿Ô½À´Ï´Ù...^^)
$GLOBALS : ½ºÆ®¸³Æ®ÀÇ Àü¿ª À¯È¿¿µ¿ª¿¡¼ ¾µ¼öÀÖ´Â ¸ðµç º¯¼ö¿¡ ´ëÇÑ ÂüÁ¶¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ ¹è¿ÀÇ key´Â Àü¿ª º¯¼öµéÀÇ À̸§ÀÌ´Ù. PHP 3 ÀÌ·¡·Î $GLOBALS°¡ Á¸ÀçÇØ¿Ô´Ù.
$_SERVER : À¥¼¹ö³ª, ÇöÀç ½ºÅ©¸³Æ®ÀÇ ½ÇÇàȯ°æ¿¡ Á÷Á¢ÀûÀ¸·Î °ü·ÃµÇ¾î ¼³Á¤µÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_SERVER_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù.
$_GET : HTTP GET¿¡ ÀÇÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_GET_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù.
$_POST : HTTP POST¿¡ ÀÇÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_POST_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù.
$_COOKIE : HTTP ÄíŰ¿¡ ÀÇÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_COOKIE_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù.
$_FILES : HTTP post ÆÄÀÏ ¾÷·Îµå¿¡ ÀÇÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ
$HTTP_POST_FILES ¹è¿°ú µ¿ÀÏÇÏ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â POST ¸Þ¼Òµå ¾÷·Îµå¸¦ Âü°íÇϵµ·Ï ÇÑ´Ù.
$_ENV : ȯ°æ¿¡ ÀÇÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_ENV_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù.
$_REQUEST : GET, POST, COOKIE ÀÔ·Â ¸ÞÄ«´ÏÁòÀ» ÅëÇØ ½ºÅ©¸³Æ®·Î Á¦°øµÇ´Â º¯¼öÀÌ´Ù. ÀÌ ¸ÞÄ«´ÏÁòÀº ½Å¿ëµÉ¼ö´Â ¾ø´Ù. ÀÌ ¹è¿ ¾È¿¡ Æ÷ÇÔµÈ Á¸ÀçÇÏ´Â º¯¼ö¿Í º¯¼öÀÇ ³ª¿ ¼ø¼´Â PHP variables_order ¼³Á¤ µð·ºÆ¼ºê¿¡ ÀÇÇØ Á¤ÀǵȴÙ. ÀÌ ¹è¿Àº PHP 4.1.0 ÀÌÀü ¹öÀü¿¡¼ µ¿ÀÏÇÑ º¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
$_SESSION : ½ºÅ©¸³Æ®ÀÇ ¼¼¼Ç¿¡ µî·ÏµÇ´Â º¯¼öÀÌ´Ù. ±¸¹öÀüÀÇ $HTTP_SESSION_VARS ¹è¿°ú µ¿ÀÏÇÏ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â Session handling functions¼½¼ÇÀ» Âü°í.
À§¿Í °°Àº ½´ÆÛÀü¿ªº¯¼öµéÀÌ Á¸ÀçÇÑ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù...^^
À̹ø¿£ °¡º¯º¯¼ö¶ó´Â °ÍÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù. °¡º¯ º¯¼ö´Â º¯¼ö¸¦ ¼±¾ðÇϰí ÇØ´ç º¯¼ö¸¦ ´Ù¸¥ º¯¼ö°ªÀ» ÀÌ¿ëÇØ¼ Á¢±ÙÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù. À½ Á» ¸»ÀÌ ÀÌ»óÇѵ¥¿ä...¿¹¸¦ µé¾îº¸°Ú½À´Ï´Ù.
<?
$abc = "Å×½ºÆ®";
$test = "abc";
echo ${$test};
?>
À§ ¼Ò½º¸¦ ½ÇÇà Çϸé Å×½ºÆ®¶ó°í Ãâ·ÂµË´Ï´Ù. ¹Ù·Î ${$test} °¡ °¡º¯º¯¼ö°¡ µÇ´Â °ÍÀä. ÀÌ ºÎºÐÀ» Çѹø Ç®¾î ½áº¸½Ã¸é ÀÌÇØ°¡ ½¬¿ì¸®¶ó »ý°¢µË´Ï´Ù. Áß°ýÈ£ ¾È¿¡ ÀÖ´Â $test ¸¦ º¯°æÇØ º¸¸é? ${abc} °¡ µÇÁÒ. ±×·³ ¼Ò½º°¡ ¸»Çϰí ÀÖ´Â °ÍÀº echo $abc; °¡ µÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ·± °ÍÀÌ °ú¿¬ ¾îµð¿¡ À¯¿ëÇÒÁö ±Ã±ÝÇϽôٰí¿ä? ¾Æ·¡ ¿¹Á¦¸¦ º¸¼¼¿ä.
À½ ¿ì¼± $a1 ~ $a100 ±îÁöÀÇ º¯¼ö°¡ ÀÖ´Ù°í °¡Á¤Çϰí ÀÌ º¯¼öµé °ªÀ» Ãâ·ÂÇϰíÀÚ ÇÑ´Ù¸é?
echo $a1;
echo $a2;
.
.
.
echo $a99;
echo $a100;
ÈÞ~ÀÌ·¸°Ô 100¹øÀ» ½á¾ß°Ú³×¿ä. ÇÏÁö¸¸ °¡º¯º¯¼ö¸¦ ÀÌ¿ëÇϸé...
for($i=1;$i<=100;$i++) {
$tmp = "a".$i;
echo ${$tmp};
}
À§¿Í °°ÀÌ 100¹øÀ» ¾²½Ç ÇÊ¿ä ¾øÀÌ Á¤¸» °£´ÜÈ÷ ÇØ°áÀÌ µÇ¾ú½À´Ï´Ù.
¾ÕÀ¸·Î ³À̵µ°¡ ³ô¾ÆÁú ¼ö·Ï °¡º¯º¯¼öÀÇ Á߿伺Àº Á÷Á¢ ´À³¢½Ã¸®¶ó »ý°¢µË´Ï´Ù...^^
3. Constants »ó¼ö
¸¶Áö¸·À¸·Î »ó¼ö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù. À½ ¹è¿°ÁÂÀÇ Âü°í»çÇ׿¡¼ Àá½Ã ¾ð±ÞÇÑÀûÀÌ ÀÖÁö¿ä...^^a
»ó¼ö¶õ º¯¼ö¿Í ¹Ý´ëÀÇ °³³äÀ¸·Î º¯ÇÏÁö ¾Ê´Â °íÁ¤µÈ °ªÀ» ¸»ÇÕ´Ï´Ù.
»ó¼ö¸¦ ÀÌ¿ëÇϱâ À§ÇÑ ¸î°¡Áö ±ÔÄ¢À» ¾Ë¾Æº¸°Ú½À´Ï´Ù.
1. define() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ »ý¼ºÇÑ´Ù.
2. ¹®ÀÚ ¶Ç´Â ¾ð´õ¹Ù(_) ·Î ½ÃÀ۵ȴÙ.
3. $ Ç¥½Ã¸¦ ÀÌ¿ëÇÏÁö ¾Ê´Â´Ù.
4. ½ºÄ®¶ó µ¥ÀÌÅÍ(boolean, integer, float °ú string)¸¸ »ó¼öÀÇ °ªÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
5. »ó¼ö´Â ¾îµð¼³ª ¼±¾ðµÇ°í »ç¿ëµÉ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ °ªÀ» º¯°æÇÒ ¼ö´Â ¾ø´Ù.
»ó¼ö¿¡ ´ëÇØ¼´Â À§¿Í °°ÀÌ 5°¡Áö¸¸ ±â¾ïÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù.
±×·³ Çѹø »ó¼ö¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
<?
define("TEST", "Å×½ºÆ® ÀÔ´Ï´Ù.");
echo TEST;
?>
À§ ¿¹Á¦´Â 'Å×½ºÆ® ÀÔ´Ï´Ù.' ¸¦ Ãâ·ÂÇÕ´Ï´Ù. °£´ÜÇÏÁö¿ä.
À½ ±×·±µ¥ ¿ª½Ã »ó¼ö¿¡µµ ½´¹öÀü¿ªº¯¼ö ó·³ ¹Ì¸® Á¤ÀÇµÈ »ó¼ö°¡ Á¸Àç ÇÕ´Ï´Ù. À½ ³»¿ëÀÌ ¸¹±â ¶§¹®¿¡ ¾Æ·¡ 3°³ÀÇ ¸µÅ©¿¡¼ È®ÀÎÇØ Áֽñ⠹ٶø´Ï´Ù.
http://kr.php.net/manual/kr/language.constants.predefined.php
http://kr.php.net/manual/kr/reserved.constants.core.php
http://kr.php.net/manual/kr/reserved.constants.standard.php
À̹ø °Áµµ ¿©±â¼ ¸¶¹«¸® ÇϰڽÀ´Ï´Ù. ´ÙÀ½ °Á´ ¿¬»êÀÚ¿Í Á¦¾î±¸Á¶°¡ µÇ°Ú½À´Ï´Ù.
±×·³ Áñ°Å¿î ÇÏ·çµÇ½Ã°í Ç×»ó ÇູÇϼ¼¿ä...^^/