Spec-Zone.ru › CakePHP 4.4

Класс Debugger

Предоставление пользовательского ведения журнала и обработки ошибок.

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

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

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

  • $_config protected
    array<string, mixed>

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

  • $_configInitialized protected
    bool

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

  • $_data protected
    array

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

  • $_defaultConfig protected
    array<string, mixed>

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

  • $_outputFormat protected
    string

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

  • $_templates protected
    array<string, array<string, mixed>>

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

  • $editors protected
    array<string, string|callable>

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

  • $renderers protected
    array<string, class-string>

    Отображение для рендереров ошибок.

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

  • __construct() public

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

  • _configDelete() protected

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

  • _configRead() protected

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

  • _configWrite() protected

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

  • _highlight() protected static

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

  • addEditor() public static

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

  • addFormat() public static deprecated

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

  • addRenderer() public static deprecated

    Добавляет рендерер к текущему экземпляру.

  • checkSecurityKeys() public static

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

  • configInstance() public static

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

  • 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

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

  • exportVarAsPlainText() public static

    Преобразует переменную в обычную текстовую строку.

  • formatHtmlMessage() public static

    Форматирует сообщение об ошибке в формате HTML.

  • formatTrace() public static

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

  • getConfig() public

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

  • getConfigOrFail() public

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

  • getExportFormatter() public

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

  • getInstance() public static

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

  • getOutputFormat() public static deprecated

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

  • getType() public static

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

  • log() public static

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

  • outputError() public deprecated

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

  • outputMask() public static

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

  • printVar() public static

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

  • setConfig() public

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

  • setEditor() public static

    Выберите стиль ссылки редактора, который вы хотите использовать.

  • setOutputFormat() public static deprecated

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

  • setOutputMask() public static

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

  • trace() public static

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

  • trimPath() public static

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

END_OF_DOCUMENT_MARKER

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

__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(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

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

Параметры

array<string, mixed>|string $key

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

mixed $value

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

string|bool $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, Closure|string $template): void

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

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

Параметры

string $name

Название редактора.

Closure|string $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

addRenderer() public static

addRenderer(string $name, class-stringCake\Error\ErrorRendererInterface> $class): void

Добавляет рендерер к текущему экземпляру.

Параметры

string $name

Псевдоним рендерера.

class-stringCake\Error\ErrorRendererInterface> $class

Имя класса рендерера для использования.

Возвращает

void

checkSecurityKeys() public static

checkSecurityKeys(): void

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

Возвращает

void

configInstance() public static

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

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

Параметры

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

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

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

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

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

Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает

mixed

Исключения

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

configShallow() public

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

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

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

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

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

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

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

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

Параметры

array<string, mixed>|string $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<string>

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

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

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<string>

См. также

https://secure.php.net/highlight_string

Ссылки

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

export() protected static

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

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

Параметры

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 необязательный

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

Возвращает

string

exportVarAsNodes() public static

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

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

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

Параметры

mixed $var

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

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

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

Возвращает

Cake\Error\Debug\NodeInterface

exportVarAsPlainText() public static

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

Преобразует переменную в строку простого текста.

Параметры

mixed $var

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

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

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

Возвращает

string

formatHtmlMessage() public static

formatHtmlMessage(string $message): string

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

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

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

Параметры

string $message

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

Возвращает

string

formatTrace() public static

formatTrace(Throwable|array $backtrace, array<string, mixed> $options = []): array|string

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

Опции

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

Параметры

Throwable|array $backtrace

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

array<string, mixed> $options необязательный

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

Возвращает

array|string

Ссылки

https://book.cakephp.org/4/ru/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 необязательный

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

mixed $default необязательный

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

Возвращает

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 необязательный

Имя класса.

Возвращает

static

getOutputFormat() public static

getOutputFormat(): string

Возвращает формат вывода для отображения ошибок Debugger.

Возвращает

string

getType() public static

getType(mixed $var): string

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

Параметры

mixed $var

Переменная, тип которой необходимо получить.

Возвращает

string

log() public static

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

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

Параметры

mixed $var

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

string|int $level optional

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

int $maxDepth optional

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

Возвращает

void

outputError() public

outputError(array $data): void

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

Параметры

array $data

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

Возвращает

void

outputMask() public static

outputMask(): array<string, string>

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

Возвращает

array<string, string>

printVar() public static

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

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

Параметры

mixed $var

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

array $location optional

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

bool|null $showHtml optional

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

Возвращает

void

setConfig() public

setConfig(array<string, mixed>|string $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']);

Параметры

array<string, mixed>|string $key

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

mixed|null $value optional

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

bool $merge optional

Выполнить рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

$this

Выбрасывает

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

setEditor() public static

setEditor(string $name): void

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

Параметры

string $name

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

Возвращает

void

setOutputFormat() public static

setOutputFormat(string $format): void

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

Параметры

string $format

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

Возвращает

void

Выбрасывает

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

setOutputMask() public static

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

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

Пример

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

Параметры

array<string, string> $value

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

bool $merge optional

Выполнить рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

void

trace() public static

trace(array<string, mixed> $options = []): array|string

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

Опции

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

Параметры

array<string, mixed> $options optional

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

Возвращает

array|string

Ссылки

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

trimPath() public static

trimPath(string $path): string

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

Параметры

string $path

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

Возвращает

string

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

$_config protected

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

Тип

array<string, mixed>

$_configInitialized protected

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

Тип

bool

$_data protected

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

Тип

array

$_defaultConfig protected

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

Тип

array<string, mixed>

$_outputFormat protected

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

Тип

string

$_templates protected

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

Тип

array<string, array<string, mixed>>

$editors protected

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

Тип

array<string, string|callable>

$renderers protected

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

Обработчики ошибок заменяют форматирование вывода объектно-ориентированной системой. Обработка ошибок Debugger будет устаревать, и вместо этого следует использовать новую систему ErrorTrap.

Тип

array<string, class-string>

© 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.4/class-Cake.Error.Debugger.html

Spec-Zone.ru

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