Á¦5 Àå Zend_Config

¸ñÂ÷

5.1. µµÀÔ
5.2. µ¿ÀÛ ¿ø¸®
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. µµÀÔ

Zend_Config (Àº)´Â, ¾îÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤ µ¥ÀÌÅ͸¦ °£´ÜÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµíÀÌ Çϱâ À§Çؼ­ ¼³°èµÈ °ÍÀÔ´Ï´Ù. °èÃþ ±¸Á¶°¡ µÈ ÇÁ·ÓÆÛƼ¸¦ »ç¿ëÇϰí, ¼³Á¤ µ¥ÀÌÅ͸¦ °£´ÜÇÏ°Ô ¾îÇø®ÄÉÀ̼ǿ¡ ÀоîµéÀÏ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ¼³Á¤ µ¥ÀÌÅÍ´Â, °èÃþ ±¸Á¶ÀÇ µ¥ÀÌÅÍ º¸Á¸À» ¼­Æ÷Æ®Çϰí ÀÖ´Ù ´Ù¾çÇÑ ¸Åü·ÎºÎÅÍ ÀоîµéÀÏ ¼ö ÀÖ½À´Ï´Ù. Çö½ÃÁ¡¿¡¼­ Zend_Config ÇÏÁö¸¸ Á¦°øÇϰí ÀÖ´Â ¼³Á¤ µ¥ÀÌÅÍ ¾î´ðÅÍ´Â Zend_Config_Ini (¿Í)°ú Zend_Config_Xml ÀÇ 2Á¾·ù·Î, ÅØ½ºÆ® ÆÄÀÏ¿¡ °Ý³³µÈ ¼³Á¤ µ¥ÀÌÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù..

·Ê 5.1. Zend_Config ÀÇ »ç¿ë¿¹

Åë»óÀº,Zend_Config_Ini ȤÀº Zend_Config_Xml (¿Í)°ú °°Àº ¾î´ðÅÍ Å¬·¡½º¸¦ »ç¿ëÇÏ´Â °ÍÀÌ »óÁ¤µÇ°í ÀÖ½À´Ï´Ù. ±×·¯³ª, ¸¸¾à ¼³Á¤ µ¥ÀÌÅͰ¡ PHP ÀÇ ¹è¿­·Î¼­ Á¸ÀçÇÑ´Ù¸é, ´ÜÁö ±×°ÍÀ» Zend_Config ÀÇ constructor¡¡ ¡¡ ¿¡ °Ç³×ÁÖ´Â °Í¸¸À¸·Î, ½ÉÇÃÇÑ °´Ã¼ ÁöÇâÀÇ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.


<?php
//  ¼³Á¤ µ¥ÀÌÅÍ´Â ¹è¿­·Î °Ç³×¹Þ½À´Ï´Ù
$configArray = array(
    
'webhost' => 'www.example.com',
    
'database' => array(
        
'type'     => 'pdo_mysql',
        
'host'     => 'db.example.com',
        
'username' => 'dbuser',
        
'password' => 'secret',
        
'name'     => 'dbname'
    
)
);

//  ¼³Á¤ µ¥ÀÌÅÍ¿¡ ´ëÇÑ °´Ã¼ ÁöÇâÀÇ ·¡ÆÛ¸¦ ÀÛ¼ºÇÕ´Ï´Ù
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);

//  ¼³Á¤ µ¥ÀÌÅ͸¦ Ç¥½ÃÇÕ´Ï´Ù ( °á°ú´Â 'www.example.com'  µË´Ï´Ù)
echo $config->webhost;

//  ¼³Á¤ µ¥ÀÌÅ͸¦ »ç¿ëÇØ µ¥ÀÌŸº£À̽º¿¡ Á¢¼ÓÇÕ´Ï´Ù
$myApplicationObject->databaseConnect($config->database->type,
                                      
$config->database->host,
                                      
$config->database->username,
                                      
$config->database->password,
                                      
$config->database->name);

À§ÀÇ ¿¹·Î ¼³¸íÇÑ °Íó·³,Zend_Config (À»)¸¦ »ç¿ëÇϸé, constructor¡¡ ¡¡ ¿¡°Ô °Ç³×Áø µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­, °èÃþÈ­ µÈ ÇÁ·ÓÆÛƼÀÇ Çü½Ä¿¡¼­ ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.


5.2. µ¿ÀÛ ¿ø¸®

Zend_Config ÀÇ constructor¡¡ ¡¡ À» ÅëÇØ¼­, ¼³Á¤ µ¥ÀÌÅÍ¿¡ ¿¬»ó ¹è¿­ Çü½Ä¿¡¼­ ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ´ÙÂ÷¿øÀÇ ¿¬»ó ¹è¿­ÀÌ µÉ °¡´É¼ºµµ ÀÖ¾î, À̰Ϳ¡ ÀÇÇØ¼­ ¹ü¿ëÀûÀÎ µ¥ÀÌÅͷκÎÅÍ ¹«¾ð°¡¿¡ °íÀ¯ÀÇ µ¥ÀÌÅͱîÁö Ãë±ÞÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ±¸»ó ¾î´ðÅÍ Å¬·¡½ºÀÇ ±â´ÉÀº, ¾îµð¿£°¡ º¸Á¸µÇ°í ÀÖ´Â µ¥ÀÌÅ͸¦ Àоîµé¿© ÀÌ ¿¬»ó ¹è¿­ Çü½ÄÀ» ÀÛ¼ºÇØ, ÇØ,Zend_Config ÀÇ constructor¡¡ ¡¡ ¿¡ °Ç³×ÁÖ´Â °ÍÀÔ´Ï´Ù. ½ºÅ©¸³Æ®³»¿¡¼­ Á÷Á¢ ¹è¿­À» ÀÛ¼ºÇØ, ±×°ÍÀ» Zend_Config ÀÇ constructor¡¡ ¡¡ ¿¡ °Ç³×ÁÖ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì´Â ¾î´ðÅÍ Å¬·¡½º´Â »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. °æ¿ì¿¡ µû¶ó¼­´Â ÀÌ·¯ÇÑ ¹æ½Ä ÂÊÀÌ ÀûÀýÇÑ Àϵµ ÀÖ°ÚÁö¿ä.

Zend_Config (Àº)´Â ³»ºÎ¿¡¼­ Countable ÀÎÅÍÆäÀ̽º ¹× Iterator ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇϰí ÀÖ¾î, À̰ÍÀ» »ç¿ëÇØ ¼³Á¤ µ¥ÀÌÅÍ¿¡ ¿ëÀÌÇÏ°Ô ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù. Áï,Zend_Config ¿ÀºêÁ§Æ®¿¡ ´ëÇØ¼­ count() ÇÔ¼ö³ª foreach µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

µðÆúÆ®¿¡¼­´Â,Zend_Config ±×¸®°í ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¼³Á¤ µ¥ÀÌÅÍ´Â Àоîµé¿© Àü¿ëÀÔ´Ï´Ù.´ëÀÔ ($config->database->host = 'example.com' µî) (À»)¸¦ ½Ç½ÃÇÏ·Á°í ÇÏ¸é ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù.±×·¯³ª, constructor¡¡ ¡¡ À¸·Î ÀÌ ÇൿÀ» º¯°æÇØ, µ¥ÀÌÅÍÀÇ º¯°æÀ» Çã°¡ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù.

[
ÁÖÀÇ] ÁÖÀÇ

¸Þ¸ð¸®»ó¿¡¼­ º¯°æÇÑ µ¥ÀÌÅ͸¦ ¾î¶°ÇÑ ¹Ìµð¾î¿¡ º¸Á¸ÇÏ·Á°í ÇÒ ¶§¿¡, Á¶±Ý ´çȲÇÒÁöµµ ¸ð¸¨´Ï´Ù. ÀÛ¼ºÇϰųª º¯°æÇϰųª ÇÑ ¼³Á¤ µ¥ÀÌÅ͸¦ ¹Ìµð¾î¿¡ º¸Á¸ÇÏ´Â ±â´ÉÀº, Áö±ÝÀÇ Zend Framework ÀÇ ´ë»ó ¹üÀ§¿ÜÀÔ´Ï´Ù. ¼³Á¤ µ¥ÀÌÅ͸¦ ÀÛ¼º¡¤ÆíÁýÇØ ¹Ìµð¾î¿¡ º¸Á¸ÇÏ·Á¸é , ½áµåÆÄƼ·ÎºÎÅÍ ¿ÀÇ ¼Ò½ºÀÇ ¼Ö·ç¼ÇÀÌ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.

Zend_Config Ŭ·¡½º¸¦ °è½ÂÇÑ ¾î´ðÅÍ Å¬·¡½º°¡, °¢°¢ÀÇ ³»¿ë¿¡ µû¶ó ±â´ÉÀ» È®ÀåÇÕ´Ï´Ù.

Zend_Config ÆÐ¹Ð¸®ÀÇ Å¬·¡½º¸¦ »ç¿ëÇϸé, ¼³Á¤ µ¥ÀÌÅ͸¦ ¼½¼Ç ´ÜÀ§·Î Á¤¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. Zend_Config ¿ÀºêÁ§Æ®ÀÇ Æ¯Á¤ÀÇ ¼½¼Ç¸¸À» ÀоîµéÀ̰ųª º¹¼öÀÇ ¼½¼ÇÀ» ÁöÁ¤ÇØ ÀоîµéÀ̰ųª ȤÀº ( ¾Æ¹«°Íµµ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é) Àü¼½¼ÇÀ» ÀоîµéÀ̰ųª¶ó°í Çß´ø °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.

Zend_Config (Àº)´Â ´ÜÀÏ °è½Â ¸ðµ¨À» ¼­Æ÷Æ®Çϰí ÀÖ¾î, ¼³Á¤ µ¥ÀÌÅÍÀÇ Æ¯Á¤ÀÇ ¼½¼ÇÀ» ´Ù¸¥ ¼½¼Ç¿¡ °è½Â½Ãų ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±â´ÉÀÌ Á¦°øµÇ°í ÀÖ´Â ÀÌÀ¯´Â, ´Ù¾çÇÑ ¸ñÀûÀ» À§Çؼ­ ¼³Á¤ µ¥ÀÌÅ͸¦ ÀÌÁß °ü¸®ÇÒ Çʿ並 ¾ø¾Ö±â (À§ÇØ)¶§¹®ÀÔ´Ï´Ù. °è½ÂÇÑ ¼½¼Ç¿¡¼­´Â, Ä£¼½¼ÇÀ¸·ÎºÎÅÍ °è½ÂÇÑ °ªÀ» µ¡¾²±âÇÒ ¼ö ÀÖ½À´Ï´Ù. PHP ÀÇ Å¬·¡½º °è½Â°ú °°°Ô, ¾î´À ¼½¼ÇÀÌ Ä£¼½¼ÇÀ» °è½ÂÇØ, ±× ¼½¼ÇÀÌ ¶Ç »óÀ§ ¼½¼ÇÀ» °è½ÂÇØ, ¶ó°í Çß´ø °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ±×·¯³ª ´ÙÁß »ó¼Ó ( ¿¹¸¦ µé¸é, ¼½¼Ç C ÇÏÁö¸¸ ¼½¼Ç A ¹× ¼½¼Ç B ÀÇ µÑÀ» Á÷Á¢ °è½ÂÇÏ´Â µî) (Àº)´Â ¼­Æ÷Æ®µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.