Zend_Console_Getopt
ÀÇ constructor¡¡ ¡¡ À¸·Î ÁöÁ¤ÇÏ´Â
°Í Àܷ̿εµ, Ãß°¡·Î ¿É¼ÇÀÇ ±ÔÄ¢À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.±× ¶§¿¡´Â addRules()
¸Þ¼Òµå¸¦
»ç¿ëÇÕ´Ï´Ù. addRules()
¿¡ °Ç³×ÁÖ´Â Àμö´Â, constructor¡¡ ¡¡ ÀÇ ÃÖÃÊÀÇ
Àμö¿Í °°½À´Ï´Ù. ªÀº Çü½ÄÀÇ ¿É¼ÇÁöÁ¤À» ³ªÅ¸³»´Â ¹®ÀÚ¿, ȤÀº ±ä Çü½ÄÀÇ ¿É¼ÇÁöÁ¤À» ³ªÅ¸³»´Â ¿¬»ó ¹è¿ÀÌ µË´Ï´Ù. ¿É¼ÇÀ» ÁöÁ¤ÇÏ´Â
±¸¹®ÀÇ ÀÚ¼¼ÇÑ °ÍÀº, Getopt
ÀÇ ±ÔÄ¢ÀÇ ¼±¾ð (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
·Ê 6.7. addRules() ÀÇ »ç¿ë¹ý
<?php
$opts = new Zend_Console_Getopt('abp:');
$opts->addRules(
array(
'verbose|v' => '
»ó¼¼ÇÑ Ãâ·ÂÀ» Ç¥½ÃÇÑ´Ù'
)
);
?>
À§ÀÇ ¿¹´Â,"--verbose
"
±×·¸´Ù°í ÇÏ´Â ¿É¼Ç°ú ±× ¾Ù¸®¾î½º(alias) "-v
"
(À»)¸¦ constructor¡¡ ¡¡ À¸·Î Á¤ÀÇÇÑ ¿É¼Ç¿¡ Ãß°¡Çϰí ÀÖ½À´Ï´Ù. Zend_Console_Getopt
ÀÇ
ÀνºÅϽº¿¡´Â, ªÀº Çü½ÄÀÇ ¿É¼Ç°ú ±ä Çü½ÄÀÇ ¿É¼ÇÀÌ °øÁ¸ °¡´ÉÇÑ °ÍÀ¸·Î ÁÖÀÇÇսôÙ.
±ä Çü½ÄÀÇ ¿É¼Ç ±ÔÄ¢À» ¼±¾ðÇÒ ¶§·Î ÁöÁ¤ÇÏ´Â ÇïÇÁ ¹®ÀÚ¿¿¡ °¡¼¼ÇØ setHelp()
¸Þ¼Òµå¿¡¼µµ
ÇïÇÁ ¹®ÀÚ¿À» ±ÔÄ¢°ú °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. setHelp()
¸Þ¼ÒµåÀÇ Àμö´Â ¿¬»ó ¹è¿·Î,
۰¡ Ç÷¡±×¸í, °ªÀÌ ´ëÀÀÇÏ´Â ÇïÇÁ ¹®ÀÚ¿ÀÌ µË´Ï´Ù.
·Ê 6.8. setHelp() ÀÇ »ç¿ë¹ý
<?php
$opts = new Zend_Console_Getopt('abp:');
$opts->setHelp(
array(
'a' => '
ÀÌ ¿É¼ÇÀº »ç°ú¸¦ ¼±ÅÃÇÕ´Ï´Ù.ÆÄ¶ó¹ÌÅÍ´Â ºÒÇÊ¿äÇÕ´Ï´Ù.',
'b' => '
ÀÌ ¿É¼ÇÀº ¹Ù³ª³ª¸¦ ¼±ÅÃÇÕ´Ï´Ù.Á¤¼ö ÆÄ¶ó¹ÌÅͰ¡ ÇʼöÀÔ´Ï´Ù.',
'p' => '
ÀÌ ¿É¼ÇÀº ¼¾ç¹è¸¦ ¼±ÅÃÇÕ´Ï´Ù.¿É¼ÇÀ¸·Î ¹®ÀÚ¿ ÆÄ¶ó¹ÌÅ͸¦ ÁöÁ¤ÇÕ´Ï´Ù.'
)
);
?>
¾Ù¸®¾î½º(alias) µ¹ÃâÇØ ¿É¼ÇÀ» ¼±¾ðÇßÀ» °æ¿ì´Â, ¾î´À ¾Ù¸®¾î½º(alias)¿¡¼µµ ¿¬»ó ¹è¿ÀÇ Å°¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿É¼ÇÀ» ªÀº ±¸¹®À¸·Î ¼±¾ðÇßÀ» °æ¿ì, ÇïÇÁ ¹®ÀÚ¿À» ¼³Á¤ÇÏ·Á¸é setHelp()
¸Þ¼Òµå°¡
À¯ÀÏÇÑ ¼ö´ÜÀÌ µË´Ï´Ù.
¿É¼ÇÀÇ ¾Ù¸®¾î½º(alias)¸¦ ¼±¾ðÇÏ·Á¸é setAliases
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.Àμö´Â
¿¬»ó ¹è¿·Î, ¹æ±ÝÀü ¼±¾ðÇÑ Ç÷¡±×°¡ Ű, ±×¸®°í ±× Ç÷¡±×ÀÇ ¾Ù¸®¾î½º(alias)°¡ °ªÀÌ µË´Ï´Ù. ¿©±â¼ ÁöÁ¤ÇÑ ¾Ù¸®¾î½º(alias)°¡,
±âÁ¸ÀÇ ¾Ù¸®¾î½º(alias)¿¡ ¸ÓÁö µË´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé, ¿ø·¡ Á¤Àǵǰí ÀÖ´ø ¾Ù¸®¾î½º(alias)µµ ±×´ë·Î À¯È¿ÇÏ´Ù¶ó°í ¸»ÇÏ´Â °ÍÀÔ´Ï´Ù.
¾Ù¸®¾î½º(alias)´Â ÇÑ ¹ø ¹Û¿¡ ¼±¾ðÇÒ ¼ö ¾ø½À´Ï´Ù.±âÁ¸ÀÇ ¾Ù¸®¾î½º(alias)¸¦ ÀçÁ¤ÀÇÇÏ·Á°í Çϸé Zend_Console_Getopt_Exception
ÇÏÁö¸¸
½½·Î¿ì µË´Ï´Ù.
·Ê 6.9. setAliases() ÀÇ »ç¿ë¹ý
<?php
$opts = new Zend_Console_Getopt('abp:');
$opts->setAliases(
array(
'a' => 'apple',
'a' => 'apfel',
'p' => 'pear'
)
);
?>
À§ÀÇ ¿¹¿¡¼´Â
"-a
"
,"--apple
"
¹×
"--apfel
"
(À»)¸¦ ¼·Î ¾Ù¸®¾î½º(alias) ÁöÁ¤ÇÑ ´ÙÀ½¿¡,
"-p
"
(¿Í)°ú "--pear
"
µµ ¾Ù¸®¾î½º(alias)·Î Çϰí ÀÖ½À´Ï´Ù.
¿É¼ÇÀ» ªÀº ±¸¹®À¸·Î ¼±¾ðÇßÀ» °æ¿ì, ¾Ù¸®¾î½º(alias)¸¦ Á¤ÀÇÇÏ·Á¸é setAliases()
¸Þ¼Òµå°¡
À¯ÀÏÇÑ ¼ö´ÜÀÌ µË´Ï´Ù.
µðÆúÆ®¿¡¼´Â,Zend_Console_Getopt
ÇÏ $_SERVER['argv']
ÀÇ
¹è¿À» »ç¿ëÇØ Ä¿¸àµå ¶óÀÎ Àμö¸¦ ÆÛ½º ÇÕ´Ï´Ù. constructor¡¡ ¡¡ ÀÇ µÎ¹øÂ°ÀÇ Àμö·Î¼ Àμö¸¦ Æ÷ÇÔÇÑ ´Ù¸¥ ¹è¿À» ÁöÁ¤ÇÒ ¼öµµ
ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ´õ ´Ù¸¥ Àμö¸¦ Ãß°¡ÇÏ·Á¸é addArguments()
¸Þ¼Òµå¸¦ »ç¿ëÇØ,
±âÁ¸ÀÇ Àμö ¹è¿À» ¿Å°Ü³õÀ¸·Á¸é setArguments()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.¾î´À ÂÊÀÇ
°æ¿ì¿¡ ´ëÇØ¼µµ, ÀÌ·¯ÇÑ ¸Þ¼ÒµåÀÇ ÆÄ¶ó¹ÌÅÍ´Â ´Ü¼øÇÑ ¹®ÀÚ¿ÀÇ ¹è¿ÀÌ µË´Ï´Ù. addArguments()
(Àº)´Â
ÇöÀçÀÇ Àμö¿¡ ±× ¹è¿À» Ãß°¡ÇØ, setArguments()
(Àº)´Â ÇöÀçÀÇ Àμö¸¦ ±×
¹è¿·Î ¿Å°Ü³õ½À´Ï´Ù.
·Ê 6.10. addArguments() ¹× setArguments() ÀÇ »ç¿ë¹ý
<?php
//
µðÆúÆ®¿¡¼´Â, constructor¡¡ ¡¡ Àº $_SERVER['argv']
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù
$opts = new Zend_Console_Getopt('abp:');
//
±âÁ¸ÀÇ Àμö¿¡ ¹è¿À» Ãß°¡ÇÕ´Ï´Ù
$opts->addArguments(array('-a', '-p', 'p_parameter', 'non_option_arg));
//
»õ·Î¿î ¹è¿·Î ±âÁ¸ÀÇ Àμö¸¦ ¿Å°Ü³õ½À´Ï´Ù
$opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg));
?>
Zend_Console_Getopt
constructor¡¡ ¡¡ ÀÇ 3¹øÂ°ÀÇ Àμö´Â,
¼³Á¤ ¿É¼ÇÀÇ ¹è¿ÀÔ´Ï´Ù. À̰ÍÀº, µ¹¾Æ°¡ °ªÀÌ µÇ´Â ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽºÀÇ °Åµ¿À» ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ¼³Á¤ ¿É¼ÇÀ» ÁöÁ¤Çϱâ À§Çؼ setOptions()
¸Þ¼Òµå¸¦
ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.ȤÀº, ¿É¼ÇÀ» °³º°ÀûÀ¸·Î ¼³Á¤ÇÏ·Á¸é setOption()
¸Þ¼Òµå¸¦
»ç¿ëÇÕ´Ï´Ù.
![]() |
" ¿É¼Ç" ±×·¸´Ù°í ÇÏ´Â ¿ë¾î¿¡ ´ëÇØ |
---|---|
¿©±â¼ ¸»ÇÑ´Ù "
¿É¼Ç"
(Àº)´Â, Zend_Console_Getopt Ŭ·¡½ºÀÇ ¼³Á¤¿¡ »ç¿ëÇÏ´Â °ÍÀÇ ÀÏÀ»
°¡¸®Å°°í ÀÖ½À´Ï´Ù. ¿É¼Ç¶ó´Â ¸»ÀÇ ÀÇ¹Ì ÀÚü´Â,Zend Framework ÀÇ ±× ¿ÜÀÇ ºÎºÐ¿¡¼ »ç¿ëÇϰí ÀÖ´Â ÀÇ¹Ì¿Í °°½À´Ï´Ù. Zend_Console_Getopt ÇÏÁö¸¸
ÆÛ½º ÇÑ´Ù Ä¿¸àµå ¶óÀÎ ¿É¼ÇÀ¸·Î´Â ¾ø½À´Ï´Ù. |
ÇöÀç ¼Æ÷Æ®Çϰí ÀÖ´Â ¿É¼Ç¿¡´Â, Ŭ·¡½º Á¤¼ö°¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ¿É¼Ç°ú °Å±â¿¡ ´ëÀÀÇÏ´Â Á¤¼ö ( ¹× ¸®ÅÍ·²Ä¡) ÀÇ À϶÷À» ÀÌÇÏ¿¡ Á¤¸®ÇÕ´Ï´Ù.
Zend_Console_Getopt::CONFIG_DASHDASH
("dashDash")
(À»)¸¦ true (À¸)·Î Çϸé, Ç÷¡±×ÀÇ Á¾·á¸¦ ³ªÅ¸³»´Â Ư¼ö Ç÷¡±× "--
"
(À»)¸¦ À¯È¿ÇÏ°Ô ÇÕ´Ï´Ù.´õºí µ¥½¬ÀÇ µÚ¿¡ °è¼Ó µÇ´Â Ä¿¸àµå ¶óÀÎ Àμö´Â, ºñ·Ï µ¥½¬·Î ½ÃÀ۵Ǿî
À־ ¿É¼ÇÀ̶ó°í´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù. ÀÌ ¼³Á¤ ¿É¼ÇÀº, µðÆúÆ®·Î true µÇ°í ÀÖ½À´Ï´Ù.
Zend_Console_Getopt::CONFIG_DASHDASH
("ignoreCase")
(À»)¸¦ true (À¸)·Î Çϸé, ´ë¹®ÀÚ ¼Ò¹®ÀÚ°¡ ´Ù¸¦ ¸¸ÇÑ Ç÷¡±×¸¦ ¼·Î ¾Ù¸®¾î½º(alias)·Î¼ Ãë±ÞÇÕ´Ï´Ù. Áï,"-a
"
(¿Í)°ú
"-A
"
(Àº)´Â °°Àº Ç÷¡±×·Î °£ÁÖÇØÁý´Ï´Ù. ÀÌ ¼³Á¤ ¿É¼ÇÀº, µðÆúÆ®¿¡¼´Â false µÇ°í ÀÖ½À´Ï´Ù.
Zend_Console_Getopt::CONFIG_RULEMODE
("ruleMode")
¿¡´Â Zend_Console_Getopt::MODE_ZEND
("zend") ȤÀº Zend_Console_Getopt::MODE_GNU
("gnu")
ÀÇ ¾î´ÀÂÊÀ̵çÀ» ÁöÁ¤ÇÕ´Ï´Ù. µ¶ÀÚÀûÀÎ ±¸¹®À» »ç¿ëÇϱâ À§Çؼ Ŭ·¡½º¸¦ È®ÀåÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇØ, ÀÌ ¿É¼ÇÀ» »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. Zend_Console_Getopt
±×¸®°í
¼Æ÷Æ®µÇ°í ÀÖ´Â µÎ °³ÀÇ ¸ðµå´Â ¸íÈ®ÇÕ´Ï´Ù. ¹®ÀÚ¿À» ÁöÁ¤ÇßÀ» °æ¿ì´Â MODE_GNU
,
±× ÀÌ¿ÜÀÇ °æ¿ì´Â MODE_ZEND
(À¸)·Î °£ÁÖÇÕ´Ï´Ù. ¸¸¾à Ŭ·¡½º¸¦ È®ÀåÇØ ´Ù¸¥
±¸¹® Çü½ÄÀ» Ãß°¡ÇßÀ» °æ¿ì´Â, ±× ¸ðµå¸¦ ÀÌ ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
Àå·¡´Â, ÇÑÃþ ´õ ¸¹Àº ¼³Á¤ ¿É¼ÇÀÌ ÀÌ Å¬·¡½º¿¡ Ãß°¡µÉ ¿¹Á¤ÀÔ´Ï´Ù.
setOption()
¸Þ¼Òµå¿¡ °Ç³×ÁÖ´Â Àμö´Â, ¼³Á¤ ¿É¼Ç¸í°ú ±× °ªÀÇ µÑÀÔ´Ï´Ù.
·Ê 6.11. setOption() ÀÇ »ç¿ë¹ý
<?php
$opts = new Zend_Console_Getopt('abp:');
$opts->setOption('ignoreCase', true);
?>
setOptions()
¸Þ¼Òµå¿¡ °Ç³×ÁÖ´Â Àμö´Â ¿¬»ó ¹è¿ÀÔ´Ï´Ù. ±× ۰¡ ¼³Á¤
¿É¼Ç¸í, ±×¸®°í °ªÀ¸·Î ÇØ¼ ¼³Á¤Ä¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. À̰ÍÀº, Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ À¸·Î »ç¿ëÇÏ´Â Æ÷¸ËÀ̱⵵ ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ
¼³Á¤ Ç׸ñÀÌ ±âÁ¸ÀÇ ¼³Á¤¿¡ ¸ÓÁö µÇ¹Ç·Î, ¸ðµç ¿É¼ÇÀ» ÁöÁ¤ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.