/Phalcon 3

Class Phalcon\Config\Adapter\Ini

extends class Phalcon\Config

implements Countable, ArrayAccess

Source on GitHub

Reads ini files and converts them to Phalcon\Config objects. Given the next configuration file:

   adapter = Mysql
   host = localhost
   username = scott
   password = cheetah
   dbname = test_db

   controllersDir = "../app/controllers/"
   modelsDir = "../app/models/"
   viewsDir = "../app/views/"

You can read it as follows:
$config = new Phalcon\Config\Adapter\Ini("path/config.ini");
   echo $config->phalcon->controllersDir;
   echo $config->database->username;

PHP constants may also be parsed in the ini file, so if you define a constant as an ini value before calling the constructor, the constant's value will be integrated into the results. To use it this way you must specify the optional second parameter as INI_SCANNER_NORMAL when calling the constructor:
$config = new Phalcon\Config\Adapter\Ini("path/config-with-constants.ini", INI_SCANNER_NORMAL);


public __construct (mixed $filePath, [mixed $mode])

Phalcon\Config\Adapter\Ini constructor

protected _parseIniString (mixed $path, mixed $value)

Build multidimensional array from string

$this->_parseIniString('path.hello.world', 'value for last key');

 // result
      'path' => [
          'hello' => [
              'world' => 'value for last key',

private _cast (mixed $ini)

We have to cast values manually because parse_ini_file() has a poor implementation.

public offsetExists (mixed $index) inherited from Phalcon\Config

Allows to check whether an attribute is defined using the array-syntax


public get (mixed $index, [mixed $defaultValue]) inherited from Phalcon\Config

Gets an attribute from the configuration, if the attribute isn’t defined returns null If the value is exactly null or is not defined the default value will be used instead

echo $config->get('controllersDir', '../app/controllers/');

public offsetGet (mixed $index) inherited from Phalcon\Config

Gets an attribute using the array-syntax


public offsetSet (mixed $index, mixed $value) inherited from Phalcon\Config

Sets an attribute using the array-syntax

$config['database'] = array('type' => 'Sqlite');

public offsetUnset (mixed $index) inherited from Phalcon\Config

Unsets an attribute using the array-syntax


public merge (Phalcon\Config $config) inherited from Phalcon\Config

Merges a configuration into the current one

$appConfig = new \Phalcon\Config(array('database' => array('host' => 'localhost')));

public toArray () inherited from Phalcon\Config

Converts recursively the object to an array


public count () inherited from Phalcon\Config

Returns the count of properties set in the config

print count($config);


print $config->count();

public static __set_state (array $data) inherited from Phalcon\Config

Restores the state of a Phalcon\Config object

final protected Config merged config _merge (Config $config, [mixed $instance]) inherited from Phalcon\Config

Helper method for merge configs (forwarding nested config instance)

© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.