Spec-Zone.ru › CakePHP 3.3

Класс Debugger

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

Debugger переопределяет стандартную обработку ошибок PHP, чтобы предоставить трассировку стека и улучшенную журнализацию

Пространство имён: Cake\Error
Ссылка: http://book.cakephp.org/3.0/ru/development/debugging.html#namespace-Cake\Error
Расположение: Error/Debugger.php

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

  • $_data protected
    string
    Содержит текущие выходные данные, когда outputFormat равен false.
  • $_outputFormat protected
    string
    Текущий формат вывода.
  • $_templates protected
    string

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

  • $errors public
    array
    Список ошибок, сгенерированных приложением.

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

  • __construct() public
    Конструктор.
  • _array() protected static
    Экспорт объекта типа массив. Фильтрует ключи, используемые в конфигурации источника данных.
  • _export() protected static
    Защищённая функция экспорта, используемая для отслеживания отступов и рекурсии.
  • _highlight() protected static

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

  • _object() protected static
    Обработка преобразования объекта в строку.
  • addFormat() public static
    Добавление формата вывода или обновление формата в Debugger.
  • checkSecurityKeys() public static
    Проверка того, что значение соли и ключа шифрования приложения изменено со значения по умолчанию.
  • dump() public static
    Рекурсивно форматирует и выводит содержимое переданной переменной.
  • excerpt() public static
    Извлечение фрагмента из файла и выделение заданной строки кода.
  • exportVar() public static
    Преобразование переменной в строку для вывода отладки.
  • formatTrace() public static
    Форматирование трассировки стека на основе предоставленных параметров.
  • getInstance() public static
    Возвращает ссылку на экземпляр объекта Debugger singleton.
  • getType() public static

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

  • log() public static

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

  • outputAs() public static
    Получение/установка формата вывода для рендеринга ошибок Debugger.
  • outputError() public
    Принимает обработанный массив данных из ошибки и отображает его в выбранном формате.
  • printVar() public static
    Выводит отладочную информацию о заданной переменной.
  • trace() public static
    Выводит трассировку стека на основе предоставленных параметров.
  • trimPath() public static

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

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

__construct()source public

__construct( )

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

_array()source protected static

_array( array $var , integer $depth , integer $indent )

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

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

  • password
  • login
  • host
  • database
  • port
  • prefix
  • schema

Параметры

массив $var
Массив для экспорта.
целое число $depth
Текущая глубина, используемая для отслеживания рекурсии.
целое число $indent
Текущий уровень отступа.

Возвращает

строка
Экспортированный массив.

_export()source protected static

_export( mixed $var , integer $depth , integer $indent )

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

Параметры

смешанное $var
Переменная для вывода.
целое число $depth
Остаток глубины.
целое число $indent
Текущий уровень отступа.

Возвращает

строка
Вывод переменной.

_highlight()source protected static

_highlight( string $str )

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

Параметры

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

Возвращает

строка

_object()source protected static

_object( string $var , integer $depth , integer $indent )

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

Параметры

строка $var
Объект для преобразования.
целое число $depth
Текущая глубина, используемая для отслеживания рекурсии.
целое число $indent
Текущий уровень отступа.

Возвращает

строка

См. также

\Cake\Error\Debugger::exportVar()
END_OF_DOCUMENT_MARKER

addFormat()source public static

addFormat( string $format , array $strings )

Добавить формат вывода или обновить формат в Debugger.

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, будут присутствовать в зависимости от других шаблонов в типе формата.

Параметры

строка $format

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

массив $strings
Строки шаблона или обратный вызов, используемый для формата вывода.

Возвращает

массив
Набор установленных строк формата.

checkSecurityKeys()source public static

checkSecurityKeys( )

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

dump()source public static

dump( mixed $var , integer $depth 3 )

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

Параметры

смешанный $var
Переменная для вывода.
целое число $depth необязательно 3
Глубина вывода. По умолчанию 3.

См. также

\Cake\Error\Debugger::exportVar()

Ссылка

http://book.cakephp.org/3.0/ru/development/debugging.html#outputting-values

excerpt()source public static

excerpt( string $file , integer $line , integer $context 2 )

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

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

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

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

Параметры

строка $file
Полный путь к файлу PHP.
целое число $line
Номер строки для выделения.
целое число $context необязательно 2
Количество строк контекста, извлекаемых выше и ниже $line.

Возвращает

массив
Набор выделенных строк

См. также

http://php.net/highlight_string

Ссылка

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

exportVar()source public static

exportVar( string $var , integer $depth 3 )

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

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

  • password
  • login
  • host
  • database
  • port
  • prefix
  • schema

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

Параметры

строка $var
Переменная для преобразования.
целое число $depth необязательно 3
Глубина вывода. По умолчанию 3.

Возвращает

строка
Переменная в формате строки

formatTrace()source public static

formatTrace( array|Exception $backtrace , array $options [] )

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

Параметры

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

Параметры

массив|Исключение $backtrace
Трассировка как массив или объект исключения.
массив $options необязательно []
Формат для вывода трассировки стека.

Возвращает

смешанный
Отформатированная трассировка стека.

Ссылка

http://book.cakephp.org/3.0/ru/development/debugging.html#generating-stack-traces

getInstance()source public static

getInstance( string|null $class null )

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

Параметры

строка|null $class необязательно null
Имя класса.

Возвращает

объект

getType()source public static

getType( mixed $var )

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

Параметры

смешанный $var
Переменная, тип которой нужно получить.

Возвращает

строка
Тип переменной.

log()source public static

log( mixed $var , integer|string $level 'debug' , integer $depth 3 )

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

Параметры

смешанный $var
Переменная или содержимое для записи в журнал.
целое число|строка $level необязательно 'debug'
Тип журнала. По умолчанию 'debug'.
целое число $depth необязательно 3
Глубина вывода. По умолчанию 3.

outputAs()source public static

outputAs( string|null $format null )

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

Параметры

строка|null $format необязательно null

Формат вывода ошибок. Если null, возвращается текущий формат.

Возвращает

строка|null
Возвращает null при установке. Возвращает текущий формат при получении.

Исключения

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

outputError()source public

outputError( string $data )

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

Параметры

строка $data
Данные для вывода.
END_OF_DOCUMENT_MARKER

printVar()source public static

printVar( mixed $var , array $location [] , boolean|null $showHtml null )

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

Параметры

mixed $var
Переменная, для которой требуется показать отладочную информацию.
array $location необязательно []

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

boolean|null $showHtml необязательно null

Если установлено в true, метод выводит отладочные данные в удобном для браузера формате.

trace()source public static

trace( array $options [] )

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

Параметры

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

Параметры

array $options необязательно []
Формат для вывода трассировки стека.

Возвращает

mixed
Отформатированная трассировка стека.

Ссылка

http://book.cakephp.org/3.0/ru/development/debugging.html#generating-stack-traces

trimPath()source public static

trimPath( string $path )

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

Параметры

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

Возвращает

string
Нормализованный путь

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

$_datasource

protected string

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

[]

$_outputFormatsource

protected string

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

'js'

$_templatessource

protected string

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

[
    'log' => [
        'trace' => '{:reference} - {:path}, line {:line}',
        'error' => "{:error} ({:code}): {:description} in [{:file}, line {:line}]"
    ],
    'js' => [
        'error' => '',
        'info' => '',
        'trace' => '<pre class="stack-trace">{:trace}</pre>',
        'code' => '',
        'context' => '',
        'links' => [],
        'escapeContext' => true,
    ],
    'html' => [
        'trace' => '<pre class="cake-error trace"><b>Trace</b> <p>{:trace}</p></pre>',
        'context' => '<pre class="cake-error context"><b>Context</b> <p>{:context}</p></pre>',
        'escapeContext' => true,
    ],
    'txt' => [
        'error' => "{:error}: {:code} :: {:description} on line {:line} of {:path}\n{:info}",
        'code' => '',
        'info' => ''
    ],
    'base' => [
        'traceLine' => '{:reference} - {:path}, line {:line}',
        'trace' => "Trace:\n{:trace}\n",
        'context' => "Context:\n{:context}\n",
    ]
]

$errorssource

public array

Список ошибок, сгенерированных приложением.

[]

© 2005–2017 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/3.3/class-Cake.Error.Debugger.html

Spec-Zone.ru

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