Spec-Zone.ru › CakePHP 3.5

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

Возвращает

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

Выбрасывает

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( 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::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

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
END_OF_DOCUMENT_MARKER

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

Spec-Zone.ru

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