5.3. Zend_Config_Ini

Zend_Config_Ini (Àº)´Â, Ä£¼÷ÇÑ INI Çü½ÄÀÇ ÆÄÀÏ¿¡ º¸Á¸µÈ ¼³Á¤ µ¥ÀÌÅ͸¦,Zend_Config (À»)¸¦ ÅëÇØ¼­ ¿ÀºêÁ§Æ®ÀÇ ÇÁ·ÓÆÛƼ·Î¼­ Ãë±ÞÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. ÀÌ INI Çü½ÄÀº, °èÃþÈ­ µÈ ¼³Á¤ µ¥ÀÌÅ͸¦ Ãë±ÞÇÏ´Â °Í, ±×¸®°í ¼½¼Ç°£ÀÇ °è½Â °ü°è¸¦ Ãë±ÞÇÏ´Â °Í¿¡ ƯȭµÇ°í ÀÖ½À´Ï´Ù. ¼³Á¤ µ¥ÀÌÅÍÀÇ °èÃþ ±¸Á¶´Â, ŰÀÇ À̸§À» ´å ȤÀº ÇǸ®¿Àµå (.) ±×¸®°í ´Ü¶ôÁþ´Â °Í¿¡ ÀÇÇØ¼­ Ç¥ÇöÇÕ´Ï´Ù. ´Ù¸¥ ¼½¼ÇÀ» È®ÀåÇÏ´Â µîÀÇ °è½Â °ü°è´Â, ¼½¼Ç¸í¿¡ À̾î ÄÚ·Ð (:) (À»)¸¦, ±×¸®°í ±× ÈÄ¿¡ °è½Â¿øÀÇ ¼½¼Ç¸íÀ» ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î ³ªÅ¸³À´Ï´Ù.

[
ÁÖÀÇ] parse_ini_file

Zend_Config_Ini (Àº)´Â,PHP ÀÇ parse_ini_file() ÇÔ¼ö¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.ÀÌ ¹®¼­¿¡¼­´Â,Zend_Config_Ini °íÀ¯ÀÇ °Åµ¿¿¡ ÁÖÀÇÇսôÙ.¿¹¸¦ µé¸é, Ư¼öÇÑ °ªÀ¸·Î ÇØ¼­ true (ÀÌ)³ª false , yes ,no ±×¸®°í null (À»)¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â °Í µîÀÔ´Ï´Ù.

·Ê 5.2. Zend_Config_Ini ÀÇ »ç¿ë¹ý

ÀÌ ¿¹´Â,Zend_Config_Ini (À»)¸¦ »ç¿ëÇØ INI ÆÄÀϷκÎÅÍ ¼³Á¤ µ¥ÀÌÅ͸¦ ÀоîµéÀ̱â À§ÇÑ ±âº»ÀûÀÎ ¹æ¹ýÀ» ¼³¸íÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â, ¿î¿ë ȯ°æÀÇ ¼³Á¤°ú °³¹ß ȯ°æÀÇ ¼³Á¤À» ¾çÂÊ ¸ðµÎ °ü¸®Çϰí ÀÖ½À´Ï´Ù. °³¹ß ȯ°æ¿ëÀÇ ¼³Á¤ µ¥ÀÌÅÍ´Â ¿î¿ë ȯ°æ¿ëÀÇ °Í°ú ¸Å¿ì ºñ½ÁÇϹǷÎ, °³¹ß ȯ°æ¿ëÀÇ ¼½¼ÇÀº ¿î¿ë ȯ°æ¿ëÀÇ ¼½¼ÇÀ» °è½Â½Ã۰í ÀÖ½À´Ï´Ù. À̹ø °æ¿ì¶ó¸é, ¹Ý´ë·Î ¿î¿ë ȯ°æ¿ëÀÇ ¼½¼ÇÀ» °³¹ß ȯ°æ¿ëÀÇ °ÍÀ¸·ÎºÎÅÍ °è½Â½ÃÄѵµ ±¦ÂúÀ» °ÍÀÔ´Ï´Ù. ±×·¯ÇÑÀ¸·ÎºÎÅͶó°í ÇØ ƯÈ÷ »óȲÀÌ º¹ÀâÇÏ°Ô µÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¿©±â¿¡¼­´Â, ´ÙÀ½°ú °°Àº ³»¿ëÀÇ ¼³Á¤ µ¥ÀÌÅͰ¡ /path/to/config.ini ¿¡ Á¸ÀçÇÏ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù.


; 
¿î¿ë ȯ°æÀÇ ¼³Á¤ µ¥ÀÌÅÍ
[production]
webhost           = www.example.com
database.type     = pdo_mysql
database.host     = db.example.com
database.username = dbuser
database.password = secret
database.name     = dbname

;  °³¹ß ȯ°æÀÇ ¼³Á¤ µ¥ÀÌÅÍ´Â, ¿î¿ë ȯ°æÀÇ µ¥ÀÌÅ͸¦ °è½ÂÇÑ À§¿¡
;  Çʿ信 µû¶ó¼­ °ªÀ» µ¡¾²±âÇÕ´Ï´Ù
[staging : production]
database.host     = dev.example.com
database.username = devuser
database.password = devsecret

´ÙÀ½¿¡, °³¹ßÀÚ°¡ °³¹ß ȯ°æ¿ëÀÇ ¼³Á¤ µ¥ÀÌÅ͸¦ INI ÆÄÀϷκÎÅÍ ÀоîµéÀÌ´Â °ÍÀ» »ý°¢ÇÕ´Ï´Ù. À̰ÍÀº °£´ÜÇÑ ÀÏ·Î, ´ÜÁö INI ÆÄÀϰú ¼½¼ÇÀ» ÁöÁ¤ÇÒ »ÓÀÔ´Ï´Ù.


<?php
require_once 'Zend/Config/Ini.php';

$config = new Zend_Config_Ini('/path/to/config.ini''staging');

echo 
$config->database->host// "dev.example.com"  (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù
echo $config->database->name// "dbname"  (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù