Spec-Zone.ru › CakePHP 3.1

Класс Debugger

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

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

Пространство имен: Cake\Error
Ссылка: http://book.cakephp.org/3.0/ru/development/debugging.html#namespace-Cake\Error
Расположено в Error/Debugger.php

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

__constructsource public

__construct( )

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

_arraysource protected static

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

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

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

  • password
  • login
  • host
  • database
  • port
  • prefix
  • schema

Параметры

массив $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
строка

См. также

Cake\Error\Debugger::exportVar()

addFormatsource 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
Строки шаблона или вызываемый объект для формата вывода.

Возвращает

array
Набор установленных строк формата.

checkSecurityKeyssource public static

checkSecurityKeys( )

Проверяет, были ли изменены солевой ключ и значение seed шифра приложения от значения по умолчанию.

dumpsource public static

dump( mixed $var , integer $depth 3 )

Рекурсивно форматирует и выводит содержимое переданной переменной.

Параметры

смешанное $var
Переменная для вывода.
целое число $depth optional 3
Глубина вывода. По умолчанию 3.

См. также

Cake\Error\Debugger::exportVar()

Ссылка

http://book.cakephp.org/3.0/ru/development/debugging.html#outputting-values

excerptsource 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 optional 2
Количество строк контекста, извлекаемых выше и ниже $line.

Возвращает

array
Выделенный набор строк

См. также

http://php.net/highlight_string

Ссылка

http://book.cakephp.org/3.0/ru/development/debugging.html#getting-an-excerpt-from-a-file

exportVarsource public static

exportVar( string $var , integer $depth 3 )

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

Примечание: Содержимое следующих ключей будет заменено на *****:
- password - login - host - database - port - prefix - schema

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

Параметры

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

Возвращает

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

formatTracesource public static

formatTrace( array|Exception $backtrace , array $options [] )

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

Параметры

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

Параметры

массив|Исключение $backtrace
Трассировка как массив или объект исключения.
массив $options optional []
Формат для вывода трассировки стека.

Возвращает

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

Ссылка

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

getInstancesource public static

getInstance( string|null $class null )

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

Параметры

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

Возвращает

object
объект

getTypesource public static

getType( mixed $var )

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

Параметры

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

Возвращает

string
Тип переменной.

logsource public static

log( mixed $var , integer|string $level 'debug' , integer $depth 3 )

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

Параметры

mixed $var
Переменная или содержимое для записи в журнал.
integer|string $level необязательно 'debug'
Тип журнала. По умолчанию 'debug'.
integer $depth необязательно 3
Глубина вывода. По умолчанию 3.

outputAssource public static

outputAs( string|null $format null )

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

Параметры

string|null $format необязательно null
Формат вывода ошибок. Оставьте null, чтобы получить текущий формат.

Возвращает

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

Исключения

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

outputErrorsource public

outputError( string $data )

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

Параметры

string $data
Данные для вывода.

tracesource public static

trace( array $options [] )

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

Параметры

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

Параметры

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

Возвращает

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

Ссылка

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

trimPathsource public static

trimPath( string $path )

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

Параметры

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

Возвращает

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

Краткое описание свойств

$_datasource

protected string

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

[]

$_outputFormatsource

protected string

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

'js'

$_templatessource

protected string

Шаблоны, используемые при генерации строк трассировки или ошибок. Могут быть глобальными или индексированными значением формата, используемым в $_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 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/3.1/class-Cake.Error.Debugger.html

Spec-Zone.ru

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