Spec-Zone.ru › Phalcon 3

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

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

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

Исходный код на 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/"

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

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

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

В файле INI также могут быть обработаны константы PHP. Если вы определите константу как значение в INI перед вызовом конструктора, значение константы будет включено в результаты. Для этого вы должны указать необязательный второй параметр как INI_SCANNER_NORMAL при вызове конструктора:

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

Методы

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

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

protected _parseIniString (mixed $path, mixed $value)

Создает многомерный массив из строки

$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

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

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

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

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

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

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

Получает атрибут с помощью синтаксиса массива

print_r(
    $config["database"]
);

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

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

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

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

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

unset($config["database"]);

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

Сливает конфигурацию в текущую

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

$globalConfig->merge($appConfig);

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

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

print_r(
    $config->toArray()
);

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

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

print count($config);

или

print $config->count();

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

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

final protected Config объединённая конфигурация _merge (Config $config, [mixed $instance]) унаследованный от Phalcon\Config

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

© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Config_Adapter_Ini.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API