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 = null
Is null if there was no error while file loading
null
Details- Type
- string
- Inherited_from
- \Zend_Config::$$_loadFileErrorStr


mixed $_loadedSection
This 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() : void
Deep 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) : void
Loads 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) : void
Only 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) : array
Merge 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) : void
Throws 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) : void
Handle 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()) : array
Helper 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 | string
Returns 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() : boolean
Returns true if all sections were loaded
Inherited from: \Zend_Config::areAllSectionsLoaded()Type | Description |
---|---|
boolean |


get(string $name, mixed $default = null) : mixed
Retrieve 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_Config
The items in $merge will override the same named items in the current config.
Name | Type | Description |
---|---|---|
$merge | \Zend_Config |
Type | Description |
---|---|
\Zend_Config |


readOnly() : boolean
Returns 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() : void
Prevent 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.