Spec-Zone.ru › CakePHP 2.10

Класс Debugger

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

Debugger переопределяет стандартную обработку ошибок PHP для предоставления трассировок стека и улучшенного логирования

Пакет: Cake\Утилиты
Ссылка: https://book.cakephp.org/2.0/ru/development/debugging.html#debugger-class
Авторское право: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Utility/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
    Преобразует переменную в строку для вывода отладки.
  • getInstance() public static
    Возвращает ссылку на экземпляр объекта Debugger singleton.
  • getType() public static

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

  • log() public static

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

  • output() public static

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

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

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

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

__construct()source public

__construct( )

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

_array()source protected static

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

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

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

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

Параметры

массив $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
Текущий уровень отступа.

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

строка

См. также

Debugger::exportVar()
END_OF_DOCUMENT_MARKER

addFormat()source public static

addFormat( string $format , array $strings )

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

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

Где $data — массив строк, использующих переменную замену CakeText::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', array('callback' => array($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.

См. также

Debugger::exportVar()

Ссылка

https://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::dump

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

Ссылка

https://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::excerpt

exportVar()source public static

exportVar( string $var , integer $depth 3 )

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

Примечание: Содержимое следующих ключей будет заменено на *****:

  • password
  • login
  • host
  • database
  • port

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

Параметры

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

Возвращает

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

Ссылка

https://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::exportVar

getInstance()source public static

getInstance( string $class null )

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

Параметры

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

Возвращает

объект

getType()source public static

getType( mixed $var )

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

Параметры

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

Возвращает

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

log()source public static

log( mixed $var , integer $level LOG_DEBUG , integer $depth 3 )

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

Параметры

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

Ссылка

https://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::log

output()source public static

output( string $format null , array $strings array() )

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

Устарело

3.0.0 Используйте Debugger::outputAs() и Debugger::addFormat(). Будет удалено в 3.0


Параметры

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

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

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

Возвращает

строка

outputAs()source public static

outputAs( string $format null )

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

Параметры

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

Формат вывода ошибок. Оставьте null, чтобы получить текущий формат.

Возвращает

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

Выбрасывает

CakeException
при выборе формата, которого нет.

outputError()source public

outputError( string $data )

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

Параметры

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

showError()source public static

showError( integer $code , string $description , string $file null , integer $line null , array $context null )

Переопределяет стандартную обработку ошибок PHP.

Устаревший

3.0.0 Будет удален в версии 3.0. Эта функция заменена Debugger::outputError().

Параметры

integer $code
Код ошибки
string $description
Описание ошибки
string $file необязательный null
Файл, в котором произошла ошибка
integer $line необязательный null
Строка, вызвавшая ошибку
array $context необязательный null
Контекст

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

boolean|null
True, если ошибка обработана, иначе null.

trace()source public static

trace( array $options array() )

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

Параметры

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

Параметры

array $options необязательный array()
Формат для вывода трассировки стека

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

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

Ссылка

https://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::trace

trimPath()source public static

trimPath( string $path )

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

Параметры

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

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

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

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

$_datasource

protected string

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

array()

$_outputFormatsource

protected string

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

'js'

$_templatessource

protected string

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

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

$errorssource

public array

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

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/2.10/class-Debugger.html

Spec-Zone.ru

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