Spec-Zone.ru › CakePHP 2.9

Класс Debugger

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

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

Пакет: Cake\Utility
Ссылка: http://book.cakephp.org/2.0/ru/development/debugging.html#debugger-class
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://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 синглтона.
  • 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' для 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.

См. также

Debugger::exportVar()

Ссылка

http://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

Ссылка

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

exportVar()source public static

exportVar( string $var , integer $depth 3 )

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

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

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

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

Параметры

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

Возвращает

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

Ссылка

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

getInstance()source public static

getInstance( string $class null )

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

Параметры

строка $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.

Ссылка

http://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' для HTML с JavaScript, '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
Данные для вывода.

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
Отформатированная трассировка стека

Ссылка

http://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–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.
https://api.cakephp.org/2.9/class-Debugger.html

Spec-Zone.ru

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