Zend_Config_Xml
(À»)¸¦ »ç¿ëÇϸé, ½ÉÇÃÇÑ XML
Çü½Ä¿¡¼ º¸Á¸ÇÑ ¼³Á¤ µ¥ÀÌÅ͸¦, ¿ÀºêÁ§Æ®ÀÇ ÇÁ·ÓÆÛƼ·Î¼ Ãë±ÞÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
XML ÀÇ ·çÆ® ¿ä¼Ò´Â ¼³Á¤¿¡´Â °ü°èÇÏÁö ¾Ê±â ¶§¹®¿¡, ÀÓÀÇÀÇ À̸§ÀÌ ºÙ¿©Áý´Ï´Ù.
±× Á÷ÇÏÀÇ ·¹º§ÀÇ XML ¿ä¼Ò°¡ ¼³Á¤ µ¥ÀÌÅÍÀÇ ¼½¼Ç¿¡ ´ëÀÀÇÕ´Ï´Ù.
¼½¼Ç ·¹º§ÀÇ ¿ä¼Ò¾Æ·¡¿¡ XML ¿ä¼Ò¸¦ ¹èÄ¡ÇÏ´Â °ÍÀ¸·Î,
°èÃþ ±¸Á¶¸¦ ¼Æ÷Æ®ÇÕ´Ï´Ù.
¸»´Ü ·¹º§ÀÇ XML ¿ä¼Ò°¡ ¼³Á¤ µ¥ÀÌÅÍÀÇ °ª¿¡ ´ëÀÀÇÕ´Ï´Ù.
¼½¼ÇÀÇ °è½ÂÀº,XML ÀÇ ¼Ó¼º extends
±×¸®°í ¼Æ÷Æ®µË´Ï´Ù.ÀÌ ¼Ó¼ºÀÇ °ªÀÌ,
µ¥ÀÌÅ͸¦ °è½ÂÇϰí ÀÖ´Â ¼½¼Ç¸íÀ» ³ªÅ¸³À´Ï´Ù.
![]() |
µ¹¾Æ°¡ °ªÀÇ ÇüÅ |
---|---|
|
·Ê 5.4. Zend_Config_Xml ÀÇ »ç¿ë¹ý
ÀÌ ¿¹´Â,Zend_Config_Xml
(À»)¸¦ »ç¿ëÇØ
XML ÆÄÀϷκÎÅÍ ¼³Á¤ µ¥ÀÌÅ͸¦ ÀоîµéÀ̱â À§ÇÑ ±âº»ÀûÀÎ ¹æ¹ýÀ» ¼³¸íÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌ ¿¹¿¡¼´Â, ¿î¿ë ȯ°æÀÇ ¼³Á¤°ú °³¹ß ȯ°æÀÇ ¼³Á¤À» ¾çÂÊ ¸ðµÎ °ü¸®Çϰí ÀÖ½À´Ï´Ù.
°³¹ß ȯ°æ¿ëÀÇ ¼³Á¤ µ¥ÀÌÅÍ´Â ¿î¿ë ȯ°æ¿ëÀÇ °Í°ú ¸Å¿ì ºñ½ÁÇϹǷÎ,
°³¹ß ȯ°æ¿ëÀÇ ¼½¼ÇÀº ¿î¿ë ȯ°æ¿ëÀÇ ¼½¼ÇÀ» °è½Â½Ã۰í ÀÖ½À´Ï´Ù.
À̹ø °æ¿ì¶ó¸é, ¹Ý´ë·Î ¿î¿ë ȯ°æ¿ëÀÇ ¼½¼ÇÀ» °³¹ß ȯ°æ¿ëÀÇ °ÍÀ¸·ÎºÎÅÍ °è½Â½ÃÄѵµ ±¦ÂúÀ» °ÍÀÔ´Ï´Ù.
±×·¯ÇÑÀ¸·ÎºÎÅͶó°í ÇØ ƯÈ÷ »óȲÀÌ º¹ÀâÇÏ°Ô µÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
¿©±â¿¡¼´Â, ´ÙÀ½°ú °°Àº ³»¿ëÀÇ ¼³Á¤ µ¥ÀÌÅͰ¡
/path/to/config.xml
¿¡ Á¸ÀçÇÏ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù.
<?xml version="1.0"?>
<configdata>
<production>
<webhost>www.example.com</webhost>
<database>
<adapter>pdo_mysql</adapter>
<params>
<host>db.example.com</host>
<username>dbuser</username>
<password>secret</password>
<dbname>dbname</dbname>
</params>
</database>
</production>
<staging extends="production">
<database>
<params>
<host>dev.example.com</host>
<username>devuser</username>
<password>devsecret</password>
</params>
</database>
</staging>
</configdata>
´ÙÀ½¿¡, °³¹ßÀÚ°¡ °³¹ß ȯ°æ¿ëÀÇ ¼³Á¤ µ¥ÀÌÅ͸¦ XML ÆÄÀϷκÎÅÍ ÀоîµéÀÌ´Â °ÍÀ» »ý°¢ÇÕ´Ï´Ù. À̰ÍÀº °£´ÜÇÑ ÀÏ·Î, ´ÜÁö XML ÆÄÀϰú ¼½¼ÇÀ» ÁöÁ¤ÇÒ »ÓÀÔ´Ï´Ù.
<?php
require_once 'Zend/Config/Xml.php';
$config = new Zend_Config_Xml('/path/to/config.xml', 'staging');
echo $config->database->params->host; // "dev.example.com" (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù
echo $config->database->params->dbname; // "dbname" (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù