PHPackages                             darkfriend/php5-debug - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. darkfriend/php5-debug

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

darkfriend/php5-debug
=====================

PHP5 debug helper

1.0.8(5y ago)02.3k2PHPPHP &gt;=5.4

Since Dec 20Pushed 5y ago1 watchersCompare

[ Source](https://github.com/darkfriend/php5-debug)[ Packagist](https://packagist.org/packages/darkfriend/php5-debug)[ Docs](https://github.com/darkfriend/php5-debug)[ RSS](/packages/darkfriend-php5-debug/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (9)DependenciesVersions (10)Used By (2)

Debug, Log, Trace helpers
=========================

[](#debug-log-trace-helpers)

`composer require darkfriend/php5-debug`

Классы помощники для PHP5

- для трассировки и логирования данных
- для дебага разных частей кода

Trace
-----

[](#trace)

Трассировка данных в файл

- `Trace::init($sessionHash = null, $mode = null, $pathLog = '/')` - инициализация, указывается только для изменения первоначальных или ранее определенных настроек
- `Trace::add($message, $category = 'common')` - добавление сообщения в файл

### Trace Example

[](#trace-example)

```
// basic usage
\darkfriend\helpers\Trace::add('my message'); // добавляет строку
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект
```

```
// example: set trace file
\darkfriend\helpers\Trace::init(
    null,
    null,
    './logs/trace.log'
);
\darkfriend\helpers\Trace::add('my message'); // добавляет строку в файл trace.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл trace.log

\darkfriend\helpers\Trace::init(
    null,
    null,
    './logs/custom.log'
);
\darkfriend\helpers\Trace::add('my message'); // добавляет строку в файл custom.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл custom.log
```

Log
---

[](#log)

Логированные данных в файл

- `Trace::init($sessionHash = null, $mode = null, $pathLog = '/')` - инициализация, указывается только для изменения первоначальных или ранее определенных настроек
- `Trace::add($message, $category = 'common')` - добавление сообщения в файл

### Trace Example

[](#trace-example-1)

```
// basic usage
\darkfriend\helpers\Log::add('my message'); // добавляет строку
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект
```

```
// example: set trace file
\darkfriend\helpers\Log::init(
    null,
    null,
    './logs/basic.log'
);
\darkfriend\helpers\Log::add('my message'); // добавляет строку в файл basic.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл basic.log

\darkfriend\helpers\Log::init(
    null,
    null,
    './logs/custom.log'
);
\darkfriend\helpers\Log::add('my message'); // добавляет строку в файл custom.log
// \darkfriend\helpers\Trace::add(['my message']); // добавляем любой массив или объект в файл custom.log
```

Debug (alias DebugHelper)
-------------------------

[](#debug-alias-debughelper)

- `DebugHelper::$mainKey` - свойство, содержащее имя ключа для $\_COOKIE и $\_GET
- `DebugHelper::print_pre($o,$die,$show)` - статичный метод, который выводит всю структуру массива и объекта, с информацией о файле и строке (подробности ниже)
- `DebugHelper::call($func,$params)` - статичный метод, который вызывает переданную функцию только у админа, передавая нужные параметры (подробности ниже)
- `DebugHelper::trace($message,$category='common')` - статичный метод трессировки (ниже примеры использования)

DebugHelper::print\_pre($o,$die,$show);
---------------------------------------

[](#debughelperprint_preodieshow)

- $o - данные, которые надо вывести
- $die - прерывать ли после вывода выполнение скрипта (по умолчанию false)
- $show - выводить всем \[или только в определенных случаях\] (по умолчанию true)

### Пример

[](#пример)

```
use \darkfriend\devhelpers\DebugHelper;
$data = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => [
    'subKey1' => 'subValue1',
    'subKey2' => 'subValue2',
  ],
];
DebugHelper::print_pre($data);
```

DebugHelper::call($func,$params)
--------------------------------

[](#debughelpercallfuncparams)

- $func - функция, которую надо вывести
- $params - массив параметров которые надо передать

### Пример

[](#пример-1)

```
use \darkfriend\helpers\DebugHelper;
$data = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => [
    'subKey1' => 'subValue1',
    'subKey2' => 'subValue2',
  ],
];

// способ 1: используя $params
DebugHelper::call(function($data) {
  DebugHelper::print_pre($data);
},$data);

// способ 2: используя use
DebugHelper::call(function() use ($data) {
  DebugHelper::print_pre($data);
});
```

DebugHelper::trace($message,$category)
--------------------------------------

[](#debughelpertracemessagecategory)

- $message - сообщение
- $category - категория трассировки

### Дополнительные возможности

[](#дополнительные-возможности)

- поддержка режимов трассировния
    - TRACE\_MODE\_REPLACE - режим перезаписи лога
    - TRACE\_MODE\_APPEND - режим дополнение лога
    - TRACE\_MODE\_SESSION - режим trace-сессии
- поддержка trace-сессий - каждый запуск в отдельном

### Example 1: простая трассировка

[](#example-1-простая-трассировка)

*Задача: Простая запись данных в лог*

```
use \darkfriend\helpers\DebugHelper;
$array1 = [
  'key1' => 'value1',
  'key2' => 'value2'
];

// trace 1
DebugHelper::trace($array1);
// итог: запишет $array1 с категорией common.

$array1['key3'] = [
  'subKey1' => 'subValue1',
  'subKey2' => 'subValue2',
];

// trace 2
DebugHelper::trace($array1);
// итог: допишет в лог обновленный $array1 с категорией common
```

#### Example 1: FAQ

[](#example-1-faq)

- *Где лежит файл?* - путь `$_SERVER['DOCUMENT_ROOT].'/trace.log'`
- *Что будет в логе?* - будет 2 записи переменной $array1. По умолчанию идет запись лога сверху вниз
- *Какая категория будет?* - по умолчанию категория "common"

### Example 2: каждый запуск в отдельный файл

[](#example-2-каждый-запуск-в-отдельный-файл)

*Задача: Мы сохраняем данные и хотим трассировать id-строки и сохраняемые данные*

```
use \darkfriend\helpers\DebugHelper;

$id = 1; // идентификатор

// делаем инициализацию
// $id - ключ trace-session
// self::TRACE_MODE_SESSION - включаем режим trace-session
DebugHelper::traceInit($id, DebugHelper::TRACE_MODE_SESSION);

$array1 = [
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => 'value3'
];

DebugHelper::trace($array1);
// итог: запишет $array1 с категорией common.

$array1['key3'] = [
  'subKey1' => 'subValue1',
  'subKey2' => 'subValue2',
];

// trace 2
DebugHelper::trace($array1);
// итог: допишет в лог обновленный $array1 с категорией common
```

#### Example 2: FAQ

[](#example-2-faq)

- *Где лежит файл?* - путь `$_SERVER['DOCUMENT_ROOT]."/{$id}-trace.log"`
- *Что будет в логе?* - будет 2 записи переменной $array1. По умолчанию идет запись лога сверху вниз
- *Какая категория будет?* - по умолчанию категория "common"
- *Как изменить путь до лога?* - по умолчанию лог создается в корне, чтоб его изменить, нужно передать путь от корня в 3-ий параметр метода DebugHelper::traceInit(). Пример: `DebugHelper::traceInit($id, self::TRACE_MODE_SESSION,'/logs')`
- *Могу ли я для одного trace сделать один файл, для другого - другой?* - да, нужно в нужный момент вызвать метод `DebugHelper::setHashSession($hash)`, где $hash - это любой ключ.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~58 days

Recently: every ~112 days

Total

9

Last Release

1873d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/302f1cdc7cb85fc89550bad0c164e195b831f50de8a2a148fa754670d5f328cc?d=identicon)[darkfriend](/maintainers/darkfriend)

---

Top Contributors

[![darkfriend](https://avatars.githubusercontent.com/u/7825114?v=4)](https://github.com/darkfriend "darkfriend (8 commits)")

---

Tags

debugdevelopmentloggerphpphp5tracelogphphelperdevdebugdevelopmentloggertracephp5darkfriend

### Embed Badge

![Health badge](/badges/darkfriend-php5-debug/health.svg)

```
[![Health](https://phpackages.com/badges/darkfriend-php5-debug/health.svg)](https://phpackages.com/packages/darkfriend-php5-debug)
```

###  Alternatives

[opengento/module-webapi-logger

This module allows you to analyze all the webapi rest done call toward your Magento.

1014.9k](/packages/opengento-module-webapi-logger)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
