Spec-Zone.ru › CakePHP 4.2

Класс Debugger

Предоставляет настраиваемый ведение журнала и обработку ошибок.

Debugger расширяет стандартную обработку ошибок PHP и предоставляет более простые в использовании и мощные интерфейсы.

Пространство имен: Cake\Error
Ссылка: https://book.cakephp.org/4/ru/development/debugging.html#namespace-Cake\Error

Краткое описание свойств

  • $_config protected
    array

    Конфигурация в реальном времени

  • $_configInitialized protected
    bool

    Указывает, была ли свойство config уже настроена по умолчанию

  • $_data protected
    array

    Содержит текущие выходные данные, когда outputFormat равен false.

  • $_defaultConfig protected
    array

    Конфигурация по умолчанию

  • $_outputFormat protected
    string

    Текущий формат вывода.

  • $_templates protected
    array

    Шаблоны, используемые при генерации строк отслеживания или ошибок. Могут быть глобальными или индексироваться значением формата, используемым в $_outputFormat.

  • $editors protected
    array

    Карта редакторов и их шаблонов ссылок.

Краткое описание методов

  • __construct() public

    Конструктор.

  • _configDelete() protected

    Удаляет один ключ конфигурации.

  • _configRead() protected

    Читает ключ конфигурации.

  • _configWrite() protected

    Записывает ключ конфигурации.

  • _highlight() protected static

    Оборачивает функцию highlight_string, в случае если серверная API не поддерживает её, как например в случае интерпретатора HipHop

  • addEditor() public static

    Добавляет формат ссылки редактора.

  • addFormat() public static

    Добавляет или обновляет формат вывода в отладчике.

  • checkSecurityKeys() public static

    Проверяет, что соль и значение ключа шифрования приложения были изменены с значения по умолчанию.

  • configInstance() public static

    Чтение или запись параметров конфигурации для экземпляра отладчика.

  • configShallow() public

    Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

  • dump() public static

    Рекурсивно форматирует и выводит содержимое переданной переменной.

  • editorUrl() public static

    Возвращает отформатированный URL для активного редактора.

  • excerpt() public static

    Извлекает фрагмент из файла и выделяет заданную строку кода.

  • export() protected static

    Защищённая функция экспорта, используемая для отслеживания отступов и рекурсии.

  • exportArray() protected static

    Экспортирует объект массива. Фильтрует ключи, используемые в конфигурации источника данных.

  • exportObject() protected static

    Обрабатывает преобразование объекта в узел.

  • exportVar() public static

    Преобразует переменную в строку для вывода отладки.

  • exportVarAsNodes() public static

    Преобразует переменную во внутреннее дерево узлов.

  • formatHtmlMessage() public static

    Форматирует сообщение об исключении для HTML вывода.

  • formatTrace() public static

    Форматирует стек вызовов на основе предоставленных параметров.

  • getConfig() public

    Возвращает конфигурацию.

  • getConfigOrFail() public

    Возвращает конфигурацию для определенного ключа.

  • getExportFormatter() public

    Получает настроенный формат экспорта или определяет его на основе среды.

  • getInstance() public static

    Возвращает ссылку на экземпляр объекта-синглтона отладчика.

  • getOutputFormat() public static

    Получает формат вывода для отображения ошибок отладчика.

  • getType() public static

    Получает тип заданной переменной. Для объектов возвращает имя класса.

  • log() public static

    Создаёт запись в файле журнала. Запись журнала будет содержать стек вызовов от места вызова, а также экспортирует переменную с помощью exportVar. По умолчанию журнал записывается в журнал отладки.

  • outputError() public

    Принимает обработанный массив данных из ошибки и отображает его в выбранном формате.

  • outputMask() public static

    Считывает текущую маску вывода.

  • printVar() public static

    Выводит отладочную информацию о заданной переменной.

  • setConfig() public

    Устанавливает конфигурацию.

  • setEditor() public static

    Выберите требуемый стиль ссылки редактора.

  • setOutputFormat() public static

    Устанавливает формат вывода для отображения ошибок отладчика.

  • setOutputMask() public static

    Устанавливает настраиваемую маску вывода отладчика по имени свойства и именам ключей массива.

  • trace() public static

    Выводит стек вызовов на основе предоставленных параметров.

  • trimPath() public static

    Укорачивает пути к файлам, заменяя базовый путь приложения на 'APP', и базовый путь ядра CakePHP на 'CORE'.

Подробное описание методов

__construct() public

__construct()

Конструктор.

_configDelete() protected

_configDelete(string $key): void

Удаляет один ключ конфигурации.

Параметры

string $key

Ключ для удаления.

Возвращает

void

Исключения

Cake\Core\Exception\CakeException
при попытке перезаписать существующую конфигурацию

_configRead() protected

_configRead(string|null $key): mixed

Считывает значение ключа конфигурации.

Параметры

string|null $key

Ключ для считывания.

Возвращает

mixed

_configWrite() protected

_configWrite(string|array $key, mixed $value, bool|string $merge = false): void

Записывает значение ключа конфигурации.

Параметры

string|array $key

Ключ для записи.

mixed $value

Значение для записи.

bool|string $merge необязательный

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи; по умолчанию false.

Возвращает

void

Исключения

Cake\Core\Exception\CakeException
при попытке перезаписать существующую конфигурацию

_highlight() protected static

_highlight(string $str): string

Оборачивает функцию highlight_string в случае, если серверная API не реализует эту функцию, как это происходит в случае интерпретатора HipHop

Параметры

string $str

Строка для преобразования.

Возвращает

string

addEditor() public static

addEditor(string $name, stringClosure $template): void

Добавляет формат ссылки редактора

Шаблонные строки могут использовать заполнители {file} и {line}. Шаблоны с замыканиями должны возвращать строку и принимать два параметра: файл и строку.

Параметры

string $name

Имя редактора.

stringClosure $template

Строковый шаблон или замыкание

Возвращает

void

addFormat() public static

addFormat(string $format, array $strings): array

Добавляет формат вывода или обновляет формат в отладчике.

Debugger::addFormat('custom', $data);

Где $data — массив строк, использующих замену переменных Text::insert(). Переменные шаблона должны быть в формате {:id}. Формат обработчика ошибок может содержать следующие ключи:

  • 'error' — используется для контейнера сообщения об ошибке. Получает следующие переменные шаблона: id, error, code, description, path, line, links, info
  • 'info' — сочетание code, context и trace. Будет устанавливаться содержимым других ключей шаблона.
  • 'trace' — контейнер для трассировки стека. Получает следующие переменные шаблона: trace
  • 'context' — элемент контейнера для переменных контекста. Получает следующие шаблоны: id, context
  • 'links' — массив HTML-ссылок, используемых для создания ссылок на другие ресурсы. Обычно это используется для создания javascript-ссылок для открытия других разделов. Ключи ссылок: code, context, help. Смотрите пример в формате вывода JS.
  • 'traceLine' — используется для создания строк в трассировке стека. Получает следующие переменные шаблона: reference, path, line

В качестве альтернативы, если вы хотите использовать пользовательскую функцию для форматирования, вы можете использовать ключ callback и предоставить вызываемый объект:

Debugger::addFormat('custom', ['callback' => [$foo, 'outputError']];

Функция обратного вызова может принимать два параметра. Первый — массив всех данных об ошибке. Второй содержит отформатированные строки, сгенерированные с использованием других шаблонов. В зависимости от других шаблонов в типе формата будут присутствовать ключи, такие как info, links, code, context и trace.

Параметры

string $format

Формат для использования, включая 'js' для JavaScript-улучшенного HTML, 'html' для обычного HTML-вывода или 'txt' для неформатированного текста.

array $strings

Шаблонные строки или функция обратного вызова для использования в формате вывода.

Возвращает

array

checkSecurityKeys() public static

checkSecurityKeys(): void

Проверяет, что значения соли приложения и ключа шифрования изменены с их значения по умолчанию.

Возвращает

void

configInstance() public static

configInstance(string|array|null $key = null, mixed|null $value = null, bool $merge = true): mixed

Чтение или запись параметров конфигурации для экземпляра отладчика.

Параметры

string|array|null $key необязательный

Ключ для получения/установки или полный массив конфигураций.

mixed|null $value необязательный

Значение для установки.

bool $merge необязательный

Необходимо ли рекурсивно сливать или перезаписывать существующую конфигурацию; по умолчанию true.

Возвращает

mixed

Исключения

Cake\Core\Exception\CakeException
при попытке установить неверный ключ.

configShallow() public

configShallow(string|array $key, mixed|null $value = null): $this

Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которое выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Указание конкретного значения:

$this->configShallow('key', $value);

Указание вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key

Ключ для установки или полный массив конфигураций.

mixed|null $value необязательный

Значение для установки.

Возвращает

$this

dump() public static

dump(mixed $var, int $maxDepth = 3): void

Рекурсивно форматирует и выводит содержимое предоставленной переменной.

Параметры

mixed $var

Переменная для вывода.

int $maxDepth необязательный

Глубина вывода. По умолчанию 3.

Возвращает

void

См. также

\Cake\Error\Debugger::exportVar()

Ссылки

https://book.cakephp.org/4/en/development/debugging.html#outputting-values

editorUrl() public static

editorUrl(string $file, int $line): string

Получение отформатированного URL для активного редактора.

Параметры

string $file

Файл для создания ссылки.

int $line

Номер строки для создания ссылки.

Возвращает

string

excerpt() public static

excerpt(string $file, int $line, int $context = 2): array

Извлечение фрагмента из файла и выделение указанной строки кода.

Использование:

Debugger::excerpt('/path/to/file', 100, 4);

Выше будет возвращен массив из 8 элементов. Четвертый элемент будет предоставленной строкой и будет заключен в <span class="code-highlight"></span>. Все строки также обрабатываются с помощью highlight_string(), поэтому к ним применено базовое синтаксическое выделение PHP.

Параметры

string $file

Абсолютный путь к файлу PHP.

int $line

Номер строки для выделения.

int $context необязательный

Количество строк контекста для извлечения выше и ниже строки $line.

Возвращает

array

См. также

https://secure.php.net/highlight_string

Ссылки

https://book.cakephp.org/4/en/development/debugging.html#getting-an-excerpt-from-a-file

export() protected static

export(mixed $var, Cake\Error\Debug\DebugContext $context): Cake\Error\Debug\NodeInterface

Защищённая функция экспорта, используемая для отслеживания отступов и рекурсии.

Параметры

mixed $var

Переменная для выгрузки.

Cake\Error\Debug\DebugContext $context

Контекст выгрузки

Возвращает

Cake\Error\Debug\NodeInterface

exportArray() protected static

exportArray(array $var, Cake\Error\Debug\DebugContext $context): Cake\Error\Debug\ArrayNode

Экспортирует объект типа массив. Фильтрует ключи, используемые в конфигурации источника данных.

Следующие ключи заменяются на ***:

  • пароль
  • логин
  • хост
  • база данных
  • порт
  • префикс
  • схема

Параметры

array $var

Массив для экспорта.

Cake\Error\Debug\DebugContext $context

Текущий контекст выгрузки.

Возвращает

Cake\Error\Debug\ArrayNode

exportObject() protected static

exportObject(object $var, Cake\Error\Debug\DebugContext $context): Cake\Error\Debug\NodeInterface

Обрабатывает преобразование объекта в узел.

Параметры

object $var

Объект для преобразования.

Cake\Error\Debug\DebugContext $context

Контекст выгрузки.

Возвращает

Cake\Error\Debug\NodeInterface

См. также

\Cake\Error\Debugger::exportVar()

exportVar() public static

exportVar(mixed $var, int $maxDepth = 3): string

Преобразует переменную в строку для вывода отладки.

Примечание: следующие ключи будут иметь содержимое, заменённое на *****:

  • пароль
    • логин
    • хост
    • база данных
    • порт
    • префикс
    • схема

Это делается для защиты данных для входа в базу данных, которые могут случайно отображаться в сообщении об ошибке, если CakePHP развернут в режиме разработки.

Параметры

mixed $var

Переменная для преобразования.

int $maxDepth optional

Глубина вывода. По умолчанию 3.

Возвращает

string

exportVarAsNodes() public static

exportVarAsNodes(mixed $var, int $maxDepth = 3): Cake\Error\Debug\NodeInterface

Преобразует переменную в внутреннее дерево узлов.

Дерево узлов может быть легче обрабатывать и сериализовать, чем многие графики объектов.

Параметры

mixed $var

Переменная для преобразования.

int $maxDepth optional

Глубина генерирования узлов. По умолчанию 3.

Возвращает

Cake\Error\Debug\NodeInterface

formatHtmlMessage() public static

formatHtmlMessage(string $message): string

Форматирует сообщение об исключении для HTML-вывода.

Выполняет следующие операции форматирования:

  • HTML-экранирует сообщение.
  • Преобразует bool в <code>bool</code>
  • Преобразует переводы строк в <br />

Параметры

string $message

Строковое сообщение для форматирования.

Возвращает

string

formatTrace() public static

formatTrace(arrayThrowable $backtrace, array $options = []): string|array

Форматирует трассировку стека на основе предоставленных опций.

Опции

  • depth - Количество кадров стека для возврата. По умолчанию 999
  • format - Формат возвращаемых данных. По умолчанию используется текущий выбранный формат. Если формат 'массив' или 'точки', то возвращается массив.
  • args - Показывать аргументы функций? Если true, то будут отображаться аргументы каждого вызова метода.
  • start - Кадр стека, с которого начинается формирование трассировки. По умолчанию 0

Параметры

arrayThrowable $backtrace

Трассировка в виде массива или объекта исключения.

array $options optional

Формат вывода трассировки стека.

Возвращает

string|array

Ссылки

https://book.cakephp.org/4/en/development/debugging.html#generating-stack-traces

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определённого значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key optional

Ключ для получения, или null для всей конфигурации.

mixed $default optional

Возвращаемое значение, если ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для указанного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Выбрасывает

InvalidArgumentException

getExportFormatter() public

getExportFormatter(): Cake\Error\Debug\FormatterInterface

Получает настроенный форматировщик экспорта или определяет его на основе среды.

Возвращает

Cake\Error\Debug\FormatterInterface

getInstance() public static

getInstance(string|null $class = null): static

Возвращает ссылку на объект-синглетон Debugger.

Параметры

string|null $class optional

Имя класса.

Возвращает

static

getOutputFormat() public static

getOutputFormat(): string

Получить формат вывода для отображения ошибок Debugger.

Возвращает

string

getType() public static

getType(mixed $var): string

Получить тип заданной переменной. Для объектов вернёт имя класса.

Параметры

mixed $var

Переменная для получения типа.

Возвращает

string

log() public static

log(mixed $var, int|string $level = 'debug', int $maxDepth = 3): void

Создаёт запись в лог-файле. Запись лога будет содержать трассировку стека с места вызова, а также экспортирует переменную с помощью exportVar. По умолчанию лог записывается в лог отладки.

Параметры

mixed $var

Переменная или содержимое для логгирования.

int|string $level optional

Тип лога. По умолчанию 'debug'.

int $maxDepth optional

Глубина вывода. По умолчанию 3.

Возвращает

void

outputError() public

outputError(array $data): void

Принимает обработанный массив данных из ошибки и отображает его в выбранном формате.

Параметры

array $data

Данные для вывода.

Возвращает

void

outputMask() public static

outputMask(): array

Читает текущую маску вывода.

Возвращает

array

printVar() публичный статический

printVar(mixed $var, array $location = [], bool|null $showHtml = null): void

Выводит отладочную информацию о заданной переменной.

Параметры

mixed $var

Переменная, для которой нужно отобразить отладочную информацию.

array $location необязательный

Если содержит ключи «file» и «line», их значения будут использованы для отображения информации о расположении.

bool|null $showHtml необязательный

Если установлено в true, метод выводит отладочные данные в формате HTML. Если false, используется форматирование обычного текста. Если null, формат выбирается на основе настроенного exportFormatter или условий среды.

Возвращает

void

setConfig() публичный

setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key

Ключ для установки или массив настроек.

mixed|null $value необязательный

Значение для установки.

bool $merge необязательный

Рекурсивно объединять или перезаписывать существующую конфигурацию. По умолчанию true.

Возвращает

$this

Выбрасывает

Cake\Core\Exception\CakeException
При попытке установить недопустимый ключ.

setEditor() публичный статический

setEditor(string $name): void

Выбирает стиль ссылки редактора.

Параметры

string $name

Имя редактора.

Возвращает

void

setOutputFormat() публичный статический

setOutputFormat(string $format): void

Устанавливает формат вывода ошибок отладчика.

Параметры

string $format

Формат вывода ошибок.

Возвращает

void

Выбрасывает

InvalidArgumentException
При выборе несуществующего формата.

setOutputMask() публичный статический

setOutputMask(array $value, bool $merge = true): void

Устанавливает конфигурируемую маску вывода отладчика по имени свойства и ключам массивов.

Пример

Debugger::setOutputMask(['password' => '[*****]');

Параметры

array $value

Массив, где ключи заменяются на значения в выводе.

bool $merge необязательный

Рекурсивно объединять или перезаписывать существующую конфигурацию. По умолчанию true.

Возвращает

void

trace() публичный статический

trace(array $options = []): string|array

Выводит трассировку стека на основе предоставленных опций.

Опции

  • depth - Количество кадров стека для возврата. По умолчанию 999
  • format - Формат возврата. По умолчанию текущий выбранный формат. Если формат 'array' или 'points', возвращается массив.
  • args - Показывать аргументы функций? Если true, будут отображаться аргументы каждого вызова метода.
  • start - Кадр стека, с которого начинается генерация трассировки. По умолчанию 0

Параметры

array $options необязательный

Формат вывода трассировки стека.

Возвращает

string|array

Ссылки

https://book.cakephp.org/4/en/development/debugging.html#generating-stack-traces

trimPath() публичный статический

trimPath(string $path): string

Укорачивает пути к файлам, заменяя базовый путь приложения на 'APP', и базовый путь CakePHP на 'CORE'.

Параметры

string $path

Путь для укорачивания.

Возвращает

string

Подробное описание свойств

$_config защищённый

Конфигурация во время выполнения

Тип

array

$_configInitialized защищённый

Настроено ли свойство config значениями по умолчанию

Тип

bool

$_data защищённый

Содержит текущие данные вывода, когда outputFormat равен false.

Тип

array

$_defaultConfig защищённый

Конфигурация по умолчанию

Тип

array

$_outputFormat защищённый

Текущий формат вывода.

Тип

string

$_templates защищённый

Шаблоны, используемые при генерации трассировки или строк ошибок. Могут быть глобальными или индексироваться по значению формата, используемому в $_outputFormat.

Тип

array

$editors защищённый

Карта редакторов и их шаблонов ссылок.

Тип

array

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Error.Debugger.html

Spec-Zone.ru

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