Config/Xml.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Config
- Version
- $Id: Xml.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Config_Xml
- Parent(s)
- \Zend_Config
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

boolean $_allowModifications- Type
- boolean
- Inherited_from
- \Zend_Config::$$_allowModifications

array $_extends = array()The keys are names of sections that extend other sections, and the values are the extended sections.
array()Details- Type
- array
- Inherited_from
- \Zend_Config::$$_extends

string $_loadFileErrorStr = nullIs null if there was no error while file loading
nullDetails- Type
- string
- Inherited_from
- \Zend_Config::$$_loadFileErrorStr

mixed $_loadedSectionThis is null if all sections were loaded, a string name if one section is loaded and an array of string names if multiple sections were loaded.
- Type
- mixed
- Inherited_from
- \Zend_Config::$$_loadedSection

boolean $_skipNextIteration- Type
- boolean
- Inherited_from
- \Zend_Config::$$_skipNextIteration
Methods

__clone() : voidDeep clone of this instance to ensure that nested Zend_Configs are also cloned.
Inherited from: \Zend_Config::__clone()
__construct(string $xml, mixed $section = null, array | boolean $options = false) : voidLoads the section $section from the config file (or string $xml for access facilitated by nested object properties.
Sections are defined in the XML as children of the root element.
In order to extend another section, a section defines the "extends" attribute having a value of the section name from which the extending section inherits values.
Note that the keys in $section will override any keys of the same name in the sections that have been included via "extends".
The $options parameter may be provided as either a boolean or an array. If provided as a boolean, this sets the $allowModifications option of Zend_Config. If provided as an array, there are two configuration directives that may be set. For example:
$options = array( 'allowModifications' => false, 'skipExtends' => false );
| Name | Type | Description |
|---|---|---|
| $xml | string | XML file or string to process |
| $section | mixed | Section to process |
| $options | array | boolean |
| Exception | Description |
|---|---|
| \Zend_Config_Exception | When xml is not set or cannot be loaded |
| \Zend_Config_Exception | When section $sectionName cannot be found in $xml |

__isset(string $name) : boolean| Name | Type | Description |
|---|---|---|
| $name | string |
| Type | Description |
|---|---|
| boolean |

__set(string $name, mixed $value) : voidOnly allow setting of a property if $allowModifications was set to true on construction.
Inherited from: \Zend_Config::__set()Otherwise, throw an exception.
| Name | Type | Description |
|---|---|---|
| $name | string | |
| $value | mixed |
| Exception | Description |
|---|---|
| \Zend_Config_Exception |

__unset(string $name) : void| Name | Type | Description |
|---|---|---|
| $name | string |
| Exception | Description |
|---|---|
| \Zend_Config_Exception |

_arrayMergeRecursive(mixed $firstArray, mixed $secondArray) : arrayMerge two arrays recursively, overwriting keys of the same name in $firstArray with the value in $secondArray.
Inherited from: \Zend_Config::_arrayMergeRecursive()| Name | Type | Description |
|---|---|---|
| $firstArray | mixed | First array |
| $secondArray | mixed | Second array to merge into first array |
| Type | Description |
|---|---|
| array |

_assertValidExtend(string $extendingSection, string $extendedSection) : voidThrows an exception if $extendingSection may not extend $extendedSection, and tracks the section extension if it is valid.
Inherited from: \Zend_Config::_assertValidExtend()| Name | Type | Description |
|---|---|---|
| $extendingSection | string | |
| $extendedSection | string |
| Exception | Description |
|---|---|
| \Zend_Config_Exception |

_loadFileErrorHandler(integer $errno, string $errstr, string $errfile, integer $errline) : voidHandle any errors from simplexml_load_file or parse_ini_file
Inherited from: \Zend_Config::_loadFileErrorHandler()| Name | Type | Description |
|---|---|---|
| $errno | integer | |
| $errstr | string | |
| $errfile | string | |
| $errline | integer |

_processExtends(\SimpleXMLElement $element, string $section, array $config = array()) : arrayHelper function to process each element in the section and handle the "extends" inheritance attribute.
| Name | Type | Description |
|---|---|---|
| $element | \SimpleXMLElement | XML Element to process |
| $section | string | Section to process |
| $config | array | Configuration which was parsed yet |
| Type | Description |
|---|---|
| array |
| Exception | Description |
|---|---|
| \Zend_Config_Exception | When $section cannot be found |

_toArray(\SimpleXMLElement $xmlObject) : array | stringReturns a string or an associative and possibly multidimensional array from a SimpleXMLElement.
| Name | Type | Description |
|---|---|---|
| $xmlObject | \SimpleXMLElement | Convert a SimpleXMLElement into an array |
| Type | Description |
|---|---|
| array | string |

areAllSectionsLoaded() : booleanReturns true if all sections were loaded
Inherited from: \Zend_Config::areAllSectionsLoaded()| Type | Description |
|---|---|
| boolean |

get(string $name, mixed $default = null) : mixedRetrieve a value and return $default if there is no element set.
Inherited from: \Zend_Config::get()| Name | Type | Description |
|---|---|---|
| $name | string | |
| $default | mixed |
| Type | Description |
|---|---|
| mixed |

merge(\Zend_Config $merge) : \Zend_ConfigThe items in $merge will override the same named items in the current config.
| Name | Type | Description |
|---|---|---|
| $merge | \Zend_Config |
| Type | Description |
|---|---|
| \Zend_Config |

readOnly() : booleanReturns if this Zend_Config object is read only or not.
Inherited from: \Zend_Config::readOnly()| Type | Description |
|---|---|
| boolean |

setExtend(string $extendingSection, string $extendedSection = null) : void| Name | Type | Description |
|---|---|---|
| $extendingSection | string | |
| $extendedSection | string |

setReadOnly() : voidPrevent any more modifications being made to this instance.
Inherited from: \Zend_Config::setReadOnly()Useful after merge() has been used to merge multiple Zend_Config objects into one object which should then not be modified again.