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;