Yaconf::__debug_info
PHP Manual
PHP Manual»Yaconf»Yaconf::__debug_info

Yaconf::__debug_info

(PECL yaconf >= 1.1.0)

Yaconf::__debug_info — Показывает, как хранится значение конфигурации

Описание

public static function Yaconf::__debug_info(string $name): ?array

Метод возвращает отладочные сведения о значении, которое сохранили под названием name: адрес значения в памяти и признак того, находится ли значение по-прежнему внутри уплотнённого блока хранилища Yaconf.

Внимание

Метод существует исключительно для собственного набора тестов Yaconf, который проверяет им, что модуль работает корректно. Метод не применяют в производственном коде и не полагаются на формат его вывода: массив, который метод возвращает, изменяется в любой момент.

Список параметров

name

Название конфигурации, которую требуется исследовать; применяют ту же точечную нотацию, что и в методе Yaconf::get().

Возвращаемые значения

Массив (array) из четырёх элементов, когда конфигурация существует, иначе — null:

  • key — название, которое искали.

  • address — адрес сохранённого значения в памяти. Значения хранятся как интернированные строки или неизменяемые массивы, поэтому адрес остаётся постоянным, пока конфигурацию не перезагрузят.

  • val — само сохранённое значение.

  • changed — false, пока данные значения находятся внутри уплотнённого блока хранилища, то есть операционной системе не пришлось копировать страницу и копирование при записи ещё действует; true, когда значение переразместили за пределами блока.

Примеры

Пример #1 Пример вывода метода Yaconf::__debug_info()

<?php

// Предполагаем, что файл app.ini содержит name="shop"
var_dump(Yaconf::__debug_info("app.name"));
/*
array(4) {
  ["key"]=>
  string(8) "app.name"
  ["address"]=>
  string(14) "0x7f8b1c0a3d20"
  ["val"]=>
  string(4) "shop"
  ["changed"]=>
  bool(false)
}
*/

var_dump(Yaconf::__debug_info("app.missing")); // NULL

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

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

To Top