Класс Debugger
Предоставляет пользовательскую логирование и обработку ошибок.
Debugger переопределяет стандартную обработку ошибок PHP для предоставления трассировок стека и улучшенного ведения журнала.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/development/debugging.html#debugger-class
Расположение: Cake/Utility/Debugger.php
Подробное описание методов
_arraysource protected static
_array( array $var , integer $depth , integer $indent )
Экспортирует объект массива. Фильтрует ключи, используемые в конфигурации источника данных.
Следующие ключи заменяются на ***:
- пароль
- логин
- хост
- база данных
- порт
- префикс
- схема
Параметры
- массив
$var - Массив для экспорта.
- целое число
$depth - Текущая глубина, используемая для отслеживания рекурсии.
- целое число
$indent - Текущий уровень отступа.
Возвращает
stringЭкспортированный массив.
_exportsource protected static
_export( mixed $var , integer $depth , integer $indent )
Защищенная функция экспорта, используемая для отслеживания отступа и рекурсии.
Параметры
- смешанный
$var - Переменная для вывода.
- целое число
$depth - Остаточная глубина.
- целое число
$indent - Текущий уровень отступа.
Возвращает
stringВыведенная переменная.
_highlightsource protected static
_highlight( string $str )
Оборачивает функцию highlight_string на случай, если серверный API не реализует её, как это происходит в случае интерпретатора HipHop.
Параметры
- строка
$str - строка для преобразования
Возвращает
stringстрока
_objectsource protected static
_object( string $var , integer $depth , integer $indent )
Обрабатывает преобразование объекта в строку.
Параметры
- строка
$var - Объект для преобразования
- целое число
$depth - Текущая глубина, используемая для отслеживания рекурсии.
- целое число
$indent - Текущий уровень отступа.
Возвращает
stringстрока
См.
Debugger::exportVar()addFormatsource 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 - Строки шаблона или обратный вызов, используемый для формата вывода.
Возвращает
TheУстановленный результат формата.
checkSecurityKeyssource public static
checkSecurityKeys( )
Проверяет, были ли изменены значения соли и кода шифрования приложения со значения по умолчанию.
dumpsource 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::dumpexcerptsource 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
Возвращает
arrayНабор выделенных строк
См.
http://php.net/highlight_stringСсылка
http://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::excerptexportVarsource public static
exportVar( string $var , integer $depth 3 )
Преобразует переменную в строку для вывода отладки.
Примечание: Содержимое следующих ключей будет заменено на *****:
- пароль - логин - хост - база данных - порт - префикс - схема
Это делается для защиты учетных данных базы данных, которые могут случайно отображаться в сообщении об ошибке, если CakePHP развернут в режиме разработки.
Параметры
- строка
$var - Переменная для преобразования
- целое число
$depthнеобязательно 3 - Глубина вывода. По умолчанию 3.
Возвращает
stringПеременная в отформатированном виде
Ссылка
http://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::exportVargetInstancesource public static
getInstance( string $class null )
Возвращает ссылку на экземпляр объекта Debugger singleton.
Параметры
- строка
$classнеобязательно null - Имя класса Debugger.
Возвращает
objectобъект
getTypesource public static
getType( mixed $var )
Получить тип данного переменной. Для объектов будет возвращено имя класса.
Параметры
- mixed
$var - Переменная, тип которой нужно получить
Возвращаемое значение
stringТип переменной.
logsource public static
log( mixed $var , integer $level LOG_DEBUG , integer $depth 3 )
Создает запись в файле журнала. Запись журнала будет содержать стек вызовов, откуда она была вызвана, а также экспортирует переменную с помощью exportVar. По умолчанию журнал записывается в журнал отладки.
Параметры
- mixed
$var - Переменная или содержимое для записи в журнал
- integer
$levelнеобязательно LOG_DEBUG - Тип журнала. По умолчанию LOG_DEBUG
- integer
$depthнеобязательно 3 - Глубина вывода. По умолчанию 3.
Ссылка
http://book.cakephp.org/2.0/ru/development/debugging.html#Debugger::logoutputsource public static
output( string $format null , array $strings array() )
Переключает формат вывода, обновляет строки формата. Может использоваться для переключения активного формата вывода:
Устарело
3.0.0 Используйте Debugger::outputAs() и Debugger::addFormat(). Будет удалено в версии 3.0Параметры
- string
$formatнеобязательно null - Формат для использования, включая 'js' для HTML с улучшениями JavaScript, 'html' для простого HTML-вывода или 'txt' для неформатированного текста.
- array
$stringsнеобязательно array() - Строки шаблонов, которые будут использоваться для формата вывода.
Возвращаемое значение
stringстрока
outputAssource public static
outputAs( string $format null )
Получение/установка формата вывода для отображения ошибок Debugger.
Параметры
- string
$formatнеобязательно null - Формат, в котором должны отображаться ошибки. Оставьте null, чтобы получить текущий формат.
Возвращаемое значение
mixedВозвращает null при установке. Возвращает текущий формат при получении.
Исключения
CakeExceptionпри выборе формата, который не существует.
outputErrorsource public
outputError( string $data )
Принимает обработанный массив данных из ошибки и отображает его в выбранном формате.
Параметры
- string
$data - Данные для вывода.
showErrorsource 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|nullTrue, если ошибка была обработана, в противном случае null.
tracesource 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::tracetrimPathsource public static
trimPath( string $path )
Укорачивает пути к файлам, заменяя путь к приложению на 'APP', а путь к ядру CakePHP на 'CORE'.
Параметры
- string
$path - Путь для укорачивания
Возвращаемое значение
stringНормализованный путь
Краткое описание свойств
© 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.7/class-Debugger.html