Spec-Zone.ru › CakePHP 2.8

Класс Debugger

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

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

Пакет: Cake\Утилиты
Ссылка: http://book.cakephp.org/2.0/ru/development/debugging.html#debugger-class
Авторские права: Авторские права (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 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()источник public

__construct( )

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

_array()источник protected static

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

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

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

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

Параметры

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

Возвращает

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

_export()источник protected static

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

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

Параметры

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

Возвращает

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

_highlight()источник protected static

_highlight( string $str )

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

Параметры

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

Возвращает

строка

_object()источник 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()

Ссылка

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 )

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

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

  • password
  • login
  • host
  • database
  • port

Это делается для защиты данных для доступа к базе данных, которые могли бы случайно отобразиться в сообщении об ошибке, если 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' для 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().

Параметры

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

Возвращает

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

trace()source public static

trace( array $options array() )

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

Параметры

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

Параметры

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

Возвращает

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

Ссылка

http://book.cakephp.org/2.0/en/development/debugging.html#Debugger::trace

trimPath()source public static

trimPath( string $path )

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

Параметры

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

Возвращает

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

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

$_datasource

protected строка

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

array()

$_outputFormatsource

protected строка

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

'js'

$_templatessource

protected строка

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

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

Spec-Zone.ru

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