Á¦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(
        
'adapter' => 'pdo_mysql',
        
'params'  => array(
            
'host'     => 'db.example.com',
            
'username' => 'dbuser',
            
'password' => 'secret',
            
'dbname'   => 'mydatabase'
        
)
    )
);

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

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

// ¼³Á¤ µ¥ÀÌÅ͸¦ »ç¿ëÇØ µ¥ÀÌŸº£À̽º¿¡ Á¢¼ÓÇÕ´Ï´Ù
$db Zend_Db::factory($config->database->adapter,
                       
$config->database->params->toArray());

// ¶Ç ÇϳªÀÇ ¹æ¹ý: ´ÜÁö Zend_Config ¿ÀºêÁ§Æ®¸¦ °Ç³×ÁÝ´Ï´Ù
// Zend_Db ÀÇ ÆÑÅ丮´Â, ±× ó¸® ¹æ¹ýÀ» ¾Ë°í ÀÖ½À´Ï´Ù
$db Zend_Db::factory($config->database);

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

ÀÌ¿Í °°ÀÌ ¿ÀºêÁ§Æ® »ç°í Çü½Ä¿¡¼­ µ¥ÀÌÅÍÀÇ °ª¿¡ ¾×¼¼½º ÇÒ »Ó¸¸ ¾Æ´Ï¶ó, Zend_Config ±×·³ get() ¸Þ¼Òµåµµ ÁغñÇØ ÀÖ½À´Ï´Ù. À̰ÍÀº, ÁöÁ¤ÇÑ ¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ µðÆúƮġ¸¦ µ¹·ÁÁÖµµ·Ï(µíÀÌ) ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÕ´Ï´Ù.


<?php
$host 
$config->database->get('host''localhost');

·Ê 5.2. Zend_Config ¿¡ À־ÀÇ PHP ¼³Á¤ ÆÄÀÏÀÇ »ç¿ë¹ý

¼³Á¤ ÆÄÀÏ ±× ÀÚü¸¦ PHP ±×¸®°í ¾²°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä. ÀÌÇÏ¿Í °°ÀÌ Çϸé, °£´ÜÇÏ°Ô ±×°ÍÀ» ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.


<?php
// config.php
return array(
    
'webhost'  => 'www.example.com',
    
'database' => array(
        
'adapter' => 'pdo_mysql',
        
'params'  => array(
            
'host'     => 'db.example.com',
            
'username' => 'dbuser',
            
'password' => 'secret',
            
'dbname'   => 'mydatabase'
        
)
    )
);

<?php
// ¼³Á¤À» ÀоîµéÀÔ´Ï´Ù
require_once 'Zend/Config.php';
$config = new Zend_Config(require 'config.php');

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