Spec-Zone.ru › CakePHP 3.6

Класс 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 )

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

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

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

Параметры

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

Параметры

строка $format

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

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

Возвращает

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

checkSecurityKeys()source public static

checkSecurityKeys( )

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

configInstance()source public static

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

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

Параметры

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

Возвращает

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

Исключения

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

dump()source public static

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

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

Параметры

смешанное $var
Переменная для вывода.
целое число $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.

Параметры

строка $file
Абсолютный путь к файлу PHP.
целое число $line
Номер строки для выделения.
целое число $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 развернут в режиме разработки.

Параметры

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

Возвращает

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

formatTrace()source public static

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

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

Параметры

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

Параметры

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

Возвращает

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

Ссылка

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

getInstance()source public static

getInstance( string|null $class = null )

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

Параметры

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

Возвращает

Cake\Error\Debugger

getOutputFormat()source public static

getOutputFormat( )

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

Возвращает

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

getType()source public static

getType( mixed $var )

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

Параметры

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

Возвращает

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

log()source public static

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

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

Параметры

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

outputAs()source public static deprecated

outputAs( string|null $format = null )

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

Устарело

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

Параметры

string|null $format необязательно 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 необязательно []

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

boolean|null $showHtml необязательно null

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

setOutputFormat()source public static

setOutputFormat( string $format )

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

Параметры

string $format
Формат вывода ошибок.

Выбрасывает

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

setOutputMask()source public static

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

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

Пример

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

Параметры

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

trace()source public static

trace( array $options = [] )

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

Параметры

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

Параметры

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

Возвращает

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 необязательно 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 необязательно null
Ключ для получения/установки, или полный массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно 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 необязательно 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 необязательно null
Ключ для получения или null для всей конфигурации.
mixed $default необязательно null
Значение по умолчанию, если ключ не найден.

Возвращает

mixed
Значение конфигурации, которое читается.
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']);

Параметры

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

Возвращает


$this

Выбрасывает

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

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

$_datasource

protected массив

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

[]

$_defaultConfigsource

protected массив

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

[
    'outputMask' => []
]

$_outputFormatsource

protected строка

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

'js'

$_templatessource

protected массив

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

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

[]

© 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.6/class-Cake.Error.Debugger.html

Spec-Zone.ru

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