API Documentation

Zend/Config/Ini.php

Show: inherited
Table of Contents

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-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Config  
Version
$Id: Ini.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Config_Ini

Package: Zend\Config

Parent(s)
\Zend_Config
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotectedstring  $_nestSeparator= ''.''

String that separates nesting levels of configuration data identifiers

Default value'.'Details
Type
string
Propertyprotectedstring  $_sectionSeparator= '':''

String that separates the parent section name

Default value':'Details
Type
string
Propertyprotectedboolean  $_skipExtends= 'false'

Whether to skip extends or not

Default valuefalseDetails
Type
boolean

Methods

methodpublic__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, );

Parameters
Name Type Description
$filename string
$section mixed
$options boolean|array
Throws
Exception Description
\Zend_Config_Exception
methodprotected_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().

Parameters
Name Type Description
$filename string
Returns
Type Description
array
Throws
Exception Description
\Zend_Config_Exception
methodprotected_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

Parameters
Name Type Description
$filename string
Returns
Type Description
array
Throws
Exception Description
\Zend_Config_Exception
methodprotected_processKey( array $config, string $key, string $value ) : array

Assign the key's value to the property list. Handles the nest separator for sub-properties.

Parameters
Name Type Description
$config array
$key string
$value string
Returns
Type Description
array
Throws
Exception Description
\Zend_Config_Exception
methodprotected_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.

Parameters
Name Type Description
$iniArray array
$section string
$config array
Returns
Type Description
array
Throws
Exception Description
\Zend_Config_Exception
Documentation was generated by DocBlox 0.15.1.