Yaconf::get
PHP Manual
PHP Manual»Yaconf»Yaconf::get

Yaconf::get

(PECL yaconf >= 1.0.0)

Yaconf::get — Получает значение конфигурации по названию

Описание

public static function Yaconf::get(string $name, mixed $default = null): mixed

Метод получает значение конфигурации, которое сохранили под названием 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"
?>

Смотрите также

  • Yaconf::has() - Проверяет, существует ли значение конфигурации
  • Yaconf::__debug_info() - Показывает, как хранится значение конфигурации

To Top