Config/Ini.php
Zend Framework
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-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Config
- Version
- $Id$
Package: Zend_Config- Parent(s)
- \Zend_Config
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties
string $_nestSeparator = '.'
String that separates nesting levels of configuration data identifiers
Default value'.'
Details- Type
- string
string $_sectionSeparator = ':'
String that separates the parent section name
Default value':'
Details- Type
- string
boolean $_skipExtends = false
Whether to skip extends or not
Default valuefalse
Details- Type
- boolean
Methods
__construct(string $filename, mixed $section = null, boolean | array $options = false) : void
Loads the section $section from the config file $filename for
access facilitated by nested object properties.
If the section name contains a ":" then the section name to the right
is loaded and included into the properties. Note that the keys in
this $section will override any keys of the same
name in the sections that have been included via ":".
If the $section is null, then all sections in the ini file are loaded.
If any key includes a ".", then this will act as a separator to
create a sub-property.
example ini file:
[all]
db.connection = database
hostname = live
[staging : all]
hostname = staging
after calling $data = new Zend_Config_Ini($file, 'staging'); then
$data->hostname === "staging"
$data->db->connection === "database"
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 three configuration
directives that may be set. For example:
$options = array(
'allowModifications' => false,
'nestSeparator' => ':',
'skipExtends' => false,
);
ParametersName | Type | Description |
---|
$filename | string | |
---|
$section | mixed | |
---|
$options | boolean | array | |
---|
Throws_loadIniFile(string $filename) : array
Load the ini file and preprocess the section separator (':' in the
section name (that is used for section extension) so that the resultant
array has the correct section names and the extension information is
stored in a sub-key called ';extends'. We use ';extends' as this can
never be a valid key name in an INI file that has been loaded using
parse_ini_file().
ParametersName | Type | Description |
---|
$filename | string | |
---|
ReturnsThrows _parseIniFile(string $filename) : array
Load the INI file from disk using parse_ini_file(). Use a private error
handler to convert any loading errors into a Zend_Config_Exception
ParametersName | Type | Description |
---|
$filename | string | |
---|
ReturnsThrows _processKey(array $config, string $key, string $value) : array
Assign the key's value to the property list. Handles the
nest separator for sub-properties.
ParametersName | Type | Description |
---|
$config | array | |
---|
$key | string | |
---|
$value | string | |
---|
ReturnsThrows _processSection(array $iniArray, string $section, array $config = array()) : array
Process each element in the section and handle the ";extends" inheritance
key. Passes control to _processKey() to handle the nest separator
sub-property syntax that may be used within the key name.
ParametersName | Type | Description |
---|
$iniArray | array | |
---|
$section | string | |
---|
$config | array | |
---|
ReturnsThrows