Spec-Zone.ru › CakePHP 3.4

Класс 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
    Получение/Установка формата вывода для отображения ошибок 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

Параметры

array $var
Массив для экспорта.
integer $depth
Текущая глубина, используемая для отслеживания рекурсии.
integer $indent
Текущий уровень отступа.

Возвращает

string
Экспортированный массив.

_export()source protected static

_export( mixed $var , integer $depth , integer $indent )

Защищённая функция экспорта, используемая для отслеживания отступов и рекурсии.

Параметры

mixed $var
Переменная для вывода.
integer $depth
Остаточная глубина.
integer $indent
Текущий уровень отступа.

Возвращает

string
Выведенная переменная.

_highlight()source protected static

_highlight( string $str )

Оборачивает функцию highlight_string, на случай, если серверная API не реализует её, как это происходит в случае интерпретатора HipHop

Параметры

string $str
Строка для преобразования.

Возвращает

string

_object()source protected static

_object( object $var , integer $depth , integer $indent )

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

Параметры

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

Возвращает

string

См. также

\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( string $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 необязательный 'debug'
Тип журнала для использования. По умолчанию 'debug'.
integer $depth необязательный 3
Глубина вывода. По умолчанию 3.

outputAs()source public static

outputAs( string|null $format null )

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

Устаревшее

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

Параметры

string|null $format необязательный null

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

Возвращает

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

Исключение

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

outputError()source public

outputError( string $data )

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

Параметры

string $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::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/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 необязательный false

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

Исключение

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

config()source public

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

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

Spec-Zone.ru

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