Spec-Zone.ru › CakePHP 3.2

Класс 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.
  • getType() public static

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

  • log() public static

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

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

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

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

__construct()source public

__construct( )

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

_array()source protected static

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

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

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

  • 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' для HTML с JavaScript-улучшениями, '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 элементов. 4-й элемент — предоставленная строка, заключенная в <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 — Формат возвращаемого значения. По умолчанию текущий выбранный формат. Если формат 'массив' или 'точки', возвращение будет массивом.
  • 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
Данные для вывода.

trace()source public static

trace( array $options [] )

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

Параметры

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

Параметры

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

Возвращает

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

Ссылка

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

trimPath()source public static

trimPath( string $path )

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

Параметры

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

Возвращает

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

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

$_datasource

protected строка

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

[]

$_outputFormatsource

protected строка

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

'js'

$_templatessource

protected строка

Шаблоны, используемые при генерации трассировки или сообщений об ошибках. Могут быть глобальными или индексироваться значением формата, используемым в $_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 массив

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

[]

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Error.Debugger.html

Spec-Zone.ru

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