Класс Phalcon\Config\Adapter\Ini

расширяет класс Phalcon\Config

Реализует Countable, ArrayAccess

Source on GitHub

Считывает ini-файлы и преобразует их в объекты Phalcon\Config.

Дан следующий конфигурационный файл:

[database]
adapter = Mysql
host = localhost
username = scott
password = cheetah
dbname = test_db

[phalcon]
controllersDir = "../app/controllers/"
modelsDir = "../app/models/"
viewsDir = "../app/views/"

Вы можете прочитать его следующим образом:

<?php

$config = new \Phalcon\Config\Adapter\Ini("path/config.ini");

echo $config->phalcon->controllersDir;
echo $config->database->username;

PHP константы также могут быть проанализированы в ini-файле, поэтому, если вы определяете константу как ini-значение перед вызовом конструктора, значение константы будет интегрировано в результаты. Чтобы использовать его таким образом, необходимо указать дополнительный второй параметр как INI_SCANNER_NORMAL при вызове конструктора:

<?php

$config = new \Phalcon\Config\Adapter\Ini(
    "path/config-with-constants.ini",
    INI_SCANNER_NORMAL
);

Константы

string DEFAULT_PATH_DELIMITER

Methods

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

Phalcon\Config\Adapter\Ini конструктор

protected _parseIniString (mixed $path, mixed $value)

Построение многомерного массива из строки

<?php

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

/* result
[
     "path" => [
         "hello" => [
             "world" => "value for last key",
         ],
     ],
];*/

protected _cast (mixed $ini)

Мы должны преобразовать значения вручную, потому что parse_ini_file() имеет плохую реализацию.

public offsetExists (mixed $index) наследуется от Phalcon\Config

Позволяет проверить, определен ли атрибут с помощью array-синтаксиса

<?php

var_dump(
    isset($config["database"])
);

public path (mixed $path, [mixed $defaultValue], [mixed $delimiter]) наследуется от Phalcon\Config

Возвращает значение из текущей конфигурации, используя путь, разделенный точкой.

<?php

echo $config->path("unknown.path", "default", ".");

public get (mixed $index, [mixed $defaultValue]) наследуется от Phalcon\Config

Возвращает атрибут из конфигурации, если атрибут не определен, возвращает значение null, если значение равно null или не определено, будет использоваться значение по умолчанию

<?php

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

public offsetGet (mixed $index) наследуется от Phalcon\Config

Возвращает атрибут, используя синтаксис array

<?php

print_r(
    $config["database"]
);

public offsetSet (mixed $index, mixed $value) наследуется от Phalcon\Config

Задает атрибут с помощью синтаксиса array

<?php

$config["database"] = [
    "type" => "Sqlite",
];

public offsetUnset (mixed $index) наследуется от Phalcon\Config

Удаляет атрибут с помощью синтаксиса array

<?php

unset($config["database"]);

public merge (Phalcon\Config $config) наследуется от Phalcon\Config

Объединяет конфигурацию с текущей

<?php

$appConfig = new \Phalcon\Config(
    [
        "database" => [
            "host" => "localhost",
        ],
    ]
);

$globalConfig->merge($appConfig);

public toArray () наследуется от Phalcon\Config

Рекурсивно преобразует объект в массив

<?php

print_r(
    $config->toArray()
);

public count () наследуется от Phalcon\Config

Возвращает количество свойств, заданных в конфигурации

<?php

print count($config);

или

<?php

print $config->count();

public static __set_state (array $data) наследуется от Phalcon\Config

Восстанавливает состояние объекта Phalcon\Config

public static setPathDelimiter ([mixed $delimiter]) наследуется от Phalcon\Config

Задает разделитель пути по умолчанию

public static getPathDelimiter () наследуется от Phalcon\Config

Возвращает разделитель пути по умолчанию

final protected Config merged config _merge (Config $config, [mixed $instance]) наследуется от Phalcon\Config

Вспомогательный метод для конфигураций слияния (пересылка вложенного экземпляра конфигурации)