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