Spec-Zone.ru › CakePHP 3.7

Класс 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 singleton.
  • 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
    Настройка настраиваемой маски вывода Debugger по имени свойства и имени ключа массива.
  • 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::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. По умолчанию журнал записывается в журнал отладки.

Параметры

mixed $var
Переменная или содержимое для записи в журнал.
integer|string $level optional 'debug'
Тип журнала для использования. По умолчанию 'debug'.
integer $depth optional 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 по имени свойства и имени ключа массива.

Пример

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/en/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
При попытке установить неверный ключ.
END_OF_DOCUMENT_MARKER

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
Значение считанной конфигурации.

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

Spec-Zone.ru

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