Spec-Zone.ru › CakePHP 3.8

Класс Debugger

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

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

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

Резюме свойств

  • $_data protected
    array
    Содержит текущие данные вывода, когда outputFormat равен false.
  • $_defaultConfig protected
    array
    Значение конфигурации по умолчанию
  • $_outputFormat protected
    string
    Текущий формат вывода.
  • $_templates protected
    array

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

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

Унаследованные свойства

  • _config, _configInitialized

Резюме методов

  • __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
    Проверяет, что соль приложения и значение семени шифрования были изменены со значения по умолчанию.
  • configInstance() public static
    Чтение или запись параметров конфигурации для экземпляра Debugger.
  • dump() public static
    Рекурсивно форматирует и выводит содержимое переданной переменной.
  • excerpt() public static
    Извлекает фрагмент из файла и выделяет заданную строку кода.
  • exportVar() public static
    Преобразует переменную в строку для вывода отладки.
  • formatTrace() public static
    Форматирует трассировку стека на основе заданных параметров.
  • getInstance() public static
    Возвращает ссылку на экземпляр объекта Debugger синглтона.
  • getOutputFormat() public static
    Получить формат вывода для рендеринга ошибок Debugger.
  • getType() public static

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

  • log() public static

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

  • outputAs() public static deprecated
    Получение/Установка формата вывода для рендеринга ошибок Debugger.
  • outputError() public
    Принимает обработанный массив данных из ошибки и отображает его в выбранном формате.
  • outputMask() public static
    Считывает текущую маску вывода.
  • printVar() public static
    Выводит информацию об отладке для заданной переменной.
  • setOutputFormat() public static
    Установить формат вывода для рендеринга ошибок Debugger.
  • setOutputMask() public static
    Устанавливает настраиваемую маску вывода отладчика по имени свойства и именам ключей массива.
  • 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( object $var , integer $depth , integer $indent )

Обрабатывает преобразование объекта в строку.

Параметры

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

Возвращает

строка

См.

\Cake\Error\Debugger::exportVar()
END_OF_DOCUMENT_MARKER

addFormat()source 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, будут присутствовать в зависимости от других шаблонов в типе формата.

Параметры

string $format

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

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

Возвращает

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

checkSecurityKeys()source public static

checkSecurityKeys( )

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

configInstance()source public static

configInstance( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Чтение или запись параметров конфигурации для экземпляра Debugger.

Параметры

string|array|null $key необязательно null
Ключ для получения/установки или весь массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Флаг рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.

Возвращает

mixed
Значение конфигурации, которое считывается, или сам объект при операциях записи.

Исключения

Cake\Core\Exception\Exception
При попытке установить неверный ключ.

dump()source public static

dump( mixed $var , integer $depth = 3 )

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

Параметры

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

См. также

\Cake\Error\Debugger::exportVar()

Ссылка

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

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.

Параметры

string $file
Абсолютный путь к файлу PHP.
integer $line
Номер строки для выделения.
integer $context необязательно 2
Количество строк контекста для извлечения выше и ниже $line.

Возвращает

массив
Набор выделенных строк

См. также

https://secure.php.net/highlight_string

Ссылка

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

exportVar()source public static

exportVar( mixed $var , integer $depth = 3 )

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

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

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

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

Параметры

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

Возвращает

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

formatTrace()source public static

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

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

Параметры

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

Параметры

array|Exception $backtrace
Стек вызовов как массив или объект исключения.
array $options необязательно []
Формат для вывода стека вызовов.

Возвращает

mixed
Отформатированный стек вызовов.

Ссылка

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

getInstance()source public static

getInstance( string|null $class = null )

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

Параметры

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

Возвращает

Cake\Error\Debugger

getOutputFormat()source public static

getOutputFormat( )

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

Возвращает

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

getType()source public static

getType( mixed $var )

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

Параметры

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

Возвращает

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

log()source public static

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

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

Параметры

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

outputAs()source public static deprecated

outputAs( string|null $format = null )

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

Устаревшее

3.5.0 Используйте getOutputFormat()/setOutputFormat() вместо этого.

Параметры

string|null $format optional null

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

Возвращает

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

Исключения

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

outputError()source public

outputError( array $data )

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

Параметры

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

outputMask()source public static

outputMask( )

Считывает текущую маску вывода.

Возвращает

array

printVar()source public static

printVar( mixed $var , array $location = [] , boolean|null $showHtml = null )

Выводит отладочную информацию о заданной переменной.

Параметры

mixed $var
Переменная, для которой требуется отобразить отладочную информацию.
array $location optional []

Если содержит ключи "file" и "line", их значения будут использованы для отображения информации о расположении.

boolean|null $showHtml optional null

Если установлено в true, метод выводит отладочные данные в удобном для браузера формате.

setOutputFormat()source public static

setOutputFormat( string $format )

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

Параметры

string $format
Формат, в котором должны выводиться ошибки.

Исключения

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

setOutputMask()source public static

setOutputMask( array $value , boolean $merge = true )

Устанавливает настраиваемую маску вывода отладчика по имени свойства и имени ключа массива.

Пример

Debugger::setOutputMask(['password' => '[*************]');

Параметры

array $value
Массив, где ключи заменяются своими значениями в выводе.
boolean $merge optional true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

trace()source public static

trace( array $options = [] )

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

Параметры

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

Параметры

array $options optional []
Формат вывода трассировки стека.

Возвращает

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

Ссылка

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

trimPath()source public static

trimPath( string $path )

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

Параметры

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

Возвращает

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

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаляет один ключ конфигурации.

Параметры

string $key
Ключ для удаления.

Исключения

Cake\Core\Exception\Exception
если попытка перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Считывает ключ конфигурации.

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Записывает ключ конфигурации.

Параметры

string|array $key
Ключ, в который нужно записать.
mixed $value
Значение для записи.
boolean|string $merge optional false

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Исключения

Cake\Core\Exception\Exception
если попытка перезаписи существующей конфигурации

config()source public deprecated

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Получает/устанавливает конфигурацию.

Использование

Чтение всей конфигурации:

$this->config();

Чтение определенного значения:

$this->config('key');

Чтение вложенного значения:

$this->config('some.nested.key');

Установка определенного значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Устаревшее

3.4.0 Используйте setConfig()/getConfig() вместо этого.

Параметры

string|array|null $key optional null
Ключ для получения/установки или весь массив конфигураций.
mixed|null $value optional null
Значение для установки.
boolean $merge optional true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает

mixed
Значение конфигурации, которое читается, или сам объект при операциях записи.

Исключения

Cake\Core\Exception\Exception
При попытке установить неверный ключ.

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

Слить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или весь массив конфигураций.
mixed|null $value optional null
Значение для установки.

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key optional null
Ключ для получения или null для всей конфигурации.
mixed $default optional null
Возвращаемое значение, если ключ не существует.

Возвращает

mixed
Данные конфигурации по указанному ключу или null, если ключ не существует.
END_OF_DOCUMENT_MARKER

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или массив настроек.
mixed|null $value необязательный null
Значение для установки.
boolean $merge необязательный true
Флаг для рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.

Возвращает


$this

Исключения

Cake\Core\Exception\Exception
При попытке установить несуществующий ключ.

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

$_datasource

protected array

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

[]

$_defaultConfigsource

protected array

Значения по умолчанию конфигурации

[
    'outputMask' => []
]

$_outputFormatsource

protected string

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

'js'

$_templatessource

protected array

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

Spec-Zone.ru

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