PHPackages                             kktsvetkov/krumo - 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. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. kktsvetkov/krumo

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

kktsvetkov/krumo
================

Krumo is a debugging tool, which displays structured information about any PHP variable. It is a nice replacement for print\_r() or var\_dump() which are used by a lot of PHP developers.

0.4.4(5y ago)8260.7k↓42.5%15[2 issues](https://github.com/kktsvetkov/krumo/issues)[1 PRs](https://github.com/kktsvetkov/krumo/pulls)LGPL-2.1PHPPHP &gt;=5.3.0

Since Nov 20Pushed 4y ago6 watchersCompare

[ Source](https://github.com/kktsvetkov/krumo)[ Packagist](https://packagist.org/packages/kktsvetkov/krumo)[ Docs](http://krumo.kaloyan.info)[ RSS](/packages/kktsvetkov-krumo/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (10)Used By (0)

[![Package Version](https://camo.githubusercontent.com/2c865b0184b54545ffe47192d654a2697bc94b28fd48e5165a0a4a0532d653ea/68747470733a2f2f706f7365722e707567782e6f72672f6b6b74737665746b6f762f6b72756d6f2f762f737461626c65)](https://packagist.org/packages/kktsvetkov/krumo)[![Total Downloads](https://camo.githubusercontent.com/a36ebb7c8331e7b92911d7ecc277145417db06e27e7a2e07f0c52ff0ff5a9849/68747470733a2f2f706f7365722e707567782e6f72672f6b6b74737665746b6f762f6b72756d6f2f646f776e6c6f616473)](//packagist.org/packages/kktsvetkov/krumo)[![License](https://camo.githubusercontent.com/596ed3733b76a259acfc1ffe7005ac609c95fa9a83b78389f5336eb906afaa83/68747470733a2f2f706f7365722e707567782e6f72672f6b6b74737665746b6f762f6b72756d6f2f6c6963656e7365)](//packagist.org/packages/kktsvetkov/krumo)

Krumo: PHP structured information display solution
==================================================

[](#krumo-php-structured-information-display-solution)

[![KRUMO - version 2.0 of print_r(); and var_dump();](https://camo.githubusercontent.com/abf037152af208d4ac1a8d827f11a6e16687bbd0aea69e0a226dc930921c520d/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f696d616765732f6c6f676f2e706e67)](https://camo.githubusercontent.com/abf037152af208d4ac1a8d827f11a6e16687bbd0aea69e0a226dc930921c520d/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f696d616765732f6c6f676f2e706e67)

Krumo is a debugging tool, which displays structured information about any PHP variable. It is a nice replacement for `print_r()` or `var_dump()` which are used by a lot of PHP developers.

Overview
--------

[](#overview)

To put it simply, Krumo is a replacement for `print_r()` and `var_dump()`. By definition Krumo is a debugging tool, which displays structured information about any PHP variable.

A lot of developers use `print_r()` and `var_dump()` in the means of debugging tools. Although they were intended to present human readable information about a variable, we can all agree that in general they are not. Krumo is an alternative: it does the same job, but it presents the information beautified using CSS/JS/HTML.

Installation
------------

[](#installation)

This library can be installed in autoloadable way using Composer as [kktsvetkov/krumo](https://packagist.org/packages/kktsvetkov/krumo).

```
php composer.phar require kktsvetkov/krumo
```

In the rare occasion that you are dealing with some legacy code that has not yet embraced Composer, you can also download this package, and include `class.krumo.php` in your project, or make it accessible somewhere in your `INCLUDE_PATH`:

```
include 'class.krumo.php';
```

More or less, that's it.

Examples
--------

[](#examples)

Here's a basic example, which will return a report on the array variable passed as argument to it:

```
	krumo(array('a1'=> 'A1', 3, 'red'));
```

You can dump simultaneously more then one variable - here's another example:

```
	krumo($_SERVER, $_REQUEST);
```

You probably saw from the examples above that some of the nodes are expandable, so if you want to inspect the nested information, click on them and they will expand; if you do not need that information shown simply click again on it to collapse it. Here's an example to test this:

```
	$x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10';
	krumo($x1);
```

The krumo() is the only standalone function from the package, and this is because basic dumps about variables (like `print_r()` or `var_dump()`) are the most common tasks such functionality is used for. The rest of the functionality can be called using static calls to the Krumo class. Here are several more examples:

```
	// print a debug backgrace
 	krumo::backtrace();

	// print all the included(or required) files
	krumo::includes();

	// print all the included functions
	krumo::functions();

	// print all the declared classes
	krumo::classes();

	// print all the defined constants
	krumo::defines();
```

... and so on, etc.

Please note that the first time you call `Krumo` the dump it produces also prints the CSS and the JS code used to expand/collapse the dump nodes.

### krumo::fetch()

[](#krumofetch)

If you want to get the output returned instead of printed, you can use the `krumo::fetch()` method for that:

```
	$a = krumo::fetch($app, $env);
```

### krumo::queue()

[](#krumoqueue)

It's been a valid complain that sometimes Krumo output is called in the middle of some opened HTML tag, and that breaks the output of both that tag and Krumo itself. You can use `krumo::queue()` instead of `krumo::dump()` to solve that problem, since `krumo::queue()` will print its output at the end of the script:

```
	krumo::queue($request);
```

Skins
-----

[](#skins)

There are several skins pre-installed with this package, but if you wish you can create skins of your own. The skins are simply CSS files that are prepended to the result that Krumo prints.

To the Krumo skin, you have to set it at `krumo::$skin`:

```
	krumo::$skin = 'blue';
```

Here is a list of the pre-installed skins in Krumo

### skins/kaloyan.info

[](#skinskaloyaninfo)

[![skins/kaloyan.info](https://camo.githubusercontent.com/ae00d6ed1ed19335ff151d8cecadb1dce9889fb20ec3e77ef91b4d8577d35ee0/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f6b616c6f79616e5f696e666f5f7468656d652e706e67)](https://camo.githubusercontent.com/ae00d6ed1ed19335ff151d8cecadb1dce9889fb20ec3e77ef91b4d8577d35ee0/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f6b616c6f79616e5f696e666f5f7468656d652e706e67)

This is the new default theme, `kaloyan.info`. It is not as color heavy as the other skins

```
	// set up using the "kaloyan.info" skin
	krumo::$skin = 'kaloyan.info';
```

### skins/default

[](#skinsdefault)

[![skins/default](https://camo.githubusercontent.com/0f8fbd0d70cd1e5c0942fd0cb59dff588fbbf504b6bb874c35295c0022a340d6/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f64656661756c745f7468656d652e706e67)](https://camo.githubusercontent.com/0f8fbd0d70cd1e5c0942fd0cb59dff588fbbf504b6bb874c35295c0022a340d6/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f64656661756c745f7468656d652e706e67)

As the name suggests, this is the old "default" theme.

```
	// set up using the "default" skin
	krumo::$skin = 'default';
```

### skins/blue

[](#skinsblue)

[![skins/blue](https://camo.githubusercontent.com/8bf187158874dd902e92aea442ad85d8d2fec7f1e3eb1a29ed94346eea1d0619/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f626c75655f7468656d652e706e67)](https://camo.githubusercontent.com/8bf187158874dd902e92aea442ad85d8d2fec7f1e3eb1a29ed94346eea1d0619/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f626c75655f7468656d652e706e67)

This is a blue version of the old default theme

```
	// set up using the "blue" skin
	krumo::$skin = 'blue';
```

### skins/orange

[](#skinsorange)

[![skins/orange](https://camo.githubusercontent.com/869c90b18939d50643914e146487a92e1bf18ea7142ce2268a588759b6830a1e/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f6f72616e67655f7468656d652e706e673f733d6f)](https://camo.githubusercontent.com/869c90b18939d50643914e146487a92e1bf18ea7142ce2268a588759b6830a1e/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f6f72616e67655f7468656d652e706e673f733d6f)

This is an orange version of the old default theme

```
	// set up using the "orange" skin
	krumo::$skin = 'orange';
```

### skins/green

[](#skinsgreen)

[![skins/green](https://camo.githubusercontent.com/464e5ebc0b5204d0fe4c5ec283f5e944a28a4396c3841a3eed3d6df2f8ebc209/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f677265656e5f7468656d652e706e67)](https://camo.githubusercontent.com/464e5ebc0b5204d0fe4c5ec283f5e944a28a4396c3841a3eed3d6df2f8ebc209/687474703a2f2f6b72756d6f2e6b616c6f79616e2e696e666f2f73637265656e73686f74732f6b72756d6f5f677265656e5f7468656d652e706e67)

This is a green version of the old default theme

```
	// set up using the "green" skin
	krumo::$skin = 'green';
```

License
-------

[](#license)

This project is released under GNU Lesser General Public License v2.1 [opensource.org/licenses/LGPL-2.1](https://opensource.org/licenses/LGPL-2.1)

History
-------

[](#history)

The project was first hosted and maintained at [sourceforge.net/projects/krumo/](https://sourceforge.net/projects/krumo/).

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity44

Moderate usage in the ecosystem

Community16

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.8% 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 ~123 days

Recently: every ~246 days

Total

9

Last Release

2114d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b59326c3407a4f69763aade9634385da9788faab0307329c0dd277021dbe0340?d=identicon)[kktsvetkov](/maintainers/kktsvetkov)

---

Top Contributors

[![kktsvetkov](https://avatars.githubusercontent.com/u/694812?v=4)](https://github.com/kktsvetkov "kktsvetkov (84 commits)")[![Coeur](https://avatars.githubusercontent.com/u/839992?v=4)](https://github.com/Coeur "Coeur (1 commits)")

---

Tags

debugdebuggingkrumophpphp5php7print-rvar-dumpvar-exportdebugvar\_exportdebuggingdevelopmentprint\_rvar\_dumpkrumodevel

### Embed Badge

![Health badge](/badges/kktsvetkov-krumo/health.svg)

```
[![Health](https://phpackages.com/badges/kktsvetkov-krumo/health.svg)](https://phpackages.com/packages/kktsvetkov-krumo)
```

###  Alternatives

[mmucklo/krumo

KRUMO - version 2.0 of print\_r(); and var\_dump(); (with new updates)

89168.0k6](/packages/mmucklo-krumo)[jbzoo/jbdump

Script for debug and dump PHP variables and other stuff. This tool is a nice replacement for print\_r() and var\_dump() functions.

211.1M3](/packages/jbzoo-jbdump)[leeoniya/dump-r

a cleaner, leaner mix of print\_r() and var\_dump()

12368.1k5](/packages/leeoniya-dump-r)[ivoba/stop

nice output for debug functions for PHP 5.3

1041.9k5](/packages/ivoba-stop)

PHPackages © 2026

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