Класс Phalcon\Config\Adapter\Ini
расширяет класс Phalcon\Config
реализует Countable, ArrayAccess
Читает файлы 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