5.4. Zend_Config_Xml

Zend_Config_Xml (À»)¸¦ »ç¿ëÇϸé, ½ÉÇÃÇÑ XML Çü½Ä¿¡¼­ º¸Á¸ÇÑ ¼³Á¤ µ¥ÀÌÅ͸¦, ¿ÀºêÁ§Æ®ÀÇ ÇÁ·ÓÆÛƼ·Î¼­ Ãë±ÞÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. XML ÀÇ ·çÆ® ¿ä¼Ò´Â ¼³Á¤¿¡´Â °ü°èÇÏÁö ¾Ê±â ¶§¹®¿¡, ÀÓÀÇÀÇ À̸§ÀÌ ºÙ¿©Áý´Ï´Ù. ±× Á÷ÇÏÀÇ ·¹º§ÀÇ XML ¿ä¼Ò°¡ ¼³Á¤ µ¥ÀÌÅÍÀÇ ¼½¼Ç¿¡ ´ëÀÀÇÕ´Ï´Ù. ¼½¼Ç ·¹º§ÀÇ ¿ä¼Ò¾Æ·¡¿¡ XML ¿ä¼Ò¸¦ ¹èÄ¡ÇÏ´Â °ÍÀ¸·Î, °èÃþ ±¸Á¶¸¦ ¼­Æ÷Æ®ÇÕ´Ï´Ù. ¸»´Ü ·¹º§ÀÇ XML ¿ä¼Ò°¡ ¼³Á¤ µ¥ÀÌÅÍÀÇ °ª¿¡ ´ëÀÀÇÕ´Ï´Ù. ¼½¼ÇÀÇ °è½ÂÀº,XML ÀÇ ¼Ó¼º extends ±×¸®°í ¼­Æ÷Æ®µË´Ï´Ù.ÀÌ ¼Ó¼ºÀÇ °ªÀÌ, µ¥ÀÌÅ͸¦ °è½ÂÇϰí ÀÖ´Â ¼½¼Ç¸íÀ» ³ªÅ¸³À´Ï´Ù.

[ÁÖÀÇ] µ¹¾Æ°¡ °ªÀÇ ÇüÅÂ

Zend_Config_Xml ±×¸®°í ÀоîµéÀÎ ¼³Á¤ µ¥ÀÌÅÍ´Â, Ç×»ó ¹®ÀÚ¿­ Çü½Ä¿¡¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù.Çʿ信 µû¶ó¼­, ¹®ÀÚ¿­·ÎºÎÅÍ ÀûÀýÇÑ ÇüÅ·Πº¯È¯ÇØ ÁÖ¼¼¿ä.

·Ê 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" (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù