(PECL yaconf >= 1.0.0)
Yaconf::get — Получает значение конфигурации по названию
Метод получает значение конфигурации, которое сохранили под названием
name. В названиях применяют точечную нотацию, чтобы
обходить вложенные ключи: "app" адресует весь разобранный
файл app.ini, "app.name" — ключ
внутри него, а начиная с Yaconf 1.2.0
"users.database.master" — ключ в файле
database.ini, который положили в подкаталог
users/. Точечная нотация поддерживает до 64 уровней
вложенности.
name
Название конфигурации, которую требуется найти; вложенные ключи обходят
точечной нотацией, например "app.name",
"app.features.1" или, начиная с Yaconf 1.2.0,
"users.database.master" для файлов в подкаталогах.
default
Значение, которое возвращают, когда название name
не нашли. Если параметр опустили, возвращается null.
Сохранённое значение конфигурации — строку (string) или массив
(array), — когда название name
существует; иначе значение параметра default
или null, если значение по умолчанию не задали.
Примеры ниже предполагают, что в каталоге, который задали директивой
yaconf.directory, лежат следующие два файла.
; app.ini name="shop" ; скалярное значение debug=0 ; число features[]="checkout" ; элементы массива, обе записи features.1="wishlist"
; users/database.ini, в подкаталоге (Yaconf 1.2.0+) master="192.168.0.10" replica="192.168.0.20"
Пример #1 Пример использования метода Yaconf::get()
<?php
// получаем весь разобранный файл как массив
var_dump(Yaconf::get("app"));
// точечная нотация обходит вложенные ключи
var_dump(Yaconf::get("app.name")); // string(4) "shop"
var_dump(Yaconf::get("app.features.1")); // string(8) "wishlist"
// начиная с 1.2.0: файлы в подкаталогах адресуют
// с названием каталога как пространством имён
var_dump(Yaconf::get("users.database.master")); // string(12) "192.168.0.10"
// когда ключа нет, возвращается значение по умолчанию
var_dump(Yaconf::get("app.missing")); // NULL
var_dump(Yaconf::get("app.missing", "fallback")); // string(8) "fallback"
?>