You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.3 KiB
82 lines
3.3 KiB
1 year ago
|
# Kint - debugging helper for PHP developers
|
||
|
|
||
|

|
||
|
|
||
|
## What am I looking at?
|
||
|
|
||
|
At first glance Kint is just a pretty replacement for **[var_dump()](https://secure.php.net/function.var_dump)**, **[print_r()](https://secure.php.net/function.print_r)** and **[debug_backtrace()](https://secure.php.net/function.debug_backtrace)**.
|
||
|
|
||
|
However, it's much, *much* more than that. You will eventually wonder how you developed without it.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
One of the main goals of Kint is to be **zero setup**.
|
||
|
|
||
|
[Download the file](https://raw.githubusercontent.com/kint-php/kint/master/build/kint.phar) and simply
|
||
|
```php
|
||
|
<?php
|
||
|
|
||
|
require 'kint.phar';
|
||
|
```
|
||
|
|
||
|
### Or, if you use Composer:
|
||
|
|
||
|
```bash
|
||
|
composer require kint-php/kint --dev
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```php
|
||
|
<?php
|
||
|
|
||
|
Kint::dump($GLOBALS, $_SERVER); // pass any number of parameters
|
||
|
d($GLOBALS, $_SERVER); // or simply use d() as a shorthand
|
||
|
|
||
|
Kint::trace(); // Debug backtrace
|
||
|
|
||
|
s($GLOBALS); // Basic output mode
|
||
|
|
||
|
~d($GLOBALS); // Text only output mode
|
||
|
|
||
|
Kint::$enabled_mode = false; // Disable kint
|
||
|
d('Get off my lawn!'); // Debugs no longer have any effect
|
||
|
```
|
||
|
|
||
|
## Tips & Tricks
|
||
|
|
||
|
* Kint is enabled by default, set `Kint::$enabled_mode = false;` to turn it completely off.
|
||
|
The best practice is to enable Kint in a development environment only - so even if you accidentally leave a dump in production, no one will know.
|
||
|
* See the buttons on the right of the output? Click them to open a new tab, show the access path for the value, or show a search box.
|
||
|
* There are a couple of real-time modifiers you can use:
|
||
|
* `~d($var)` this call will output in plain text format.
|
||
|
* `+d($var)` will disregard depth level limits and output everything.
|
||
|
*Careful, this can hang your browser on large objects!*
|
||
|
* `!d($var)` will expand the output automatically.
|
||
|
* `-d($var)` will attempt to `ob_clean` the previous output and flush after printing.
|
||
|
* You can combine modifiers too: `~+d($var)`
|
||
|
* Double clicking the <kbd>+</kbd> sign will open/close it and all its children.
|
||
|
* Triple clicking the <kbd>+</kbd> sign in will open/close everything on the page.
|
||
|
* Add heavy classes to the blacklist to improve performance:
|
||
|
`Kint\Parser\BlacklistPlugin::$shallow_blacklist[] = 'Psr\Container\ContainerInterface';`
|
||
|
* To see the output in a docked toolbar at the bottom of the page:
|
||
|
`Kint\Renderer\RichRenderer::$folder = true;`
|
||
|
* To change display theme, use `Kint\Renderer\RichRenderer::$theme = 'theme.css';`. You can pass the absolute path to a CSS file, or use one of the built in themes:
|
||
|
* `original.css` (default)
|
||
|
* `solarized.css`
|
||
|
* `solarized-dark.css`
|
||
|
* `aante-light.css`
|
||
|
* `aante-dark.css`
|
||
|
* Kint has *keyboard shortcuts*! When Kint is visible, press <kbd>D</kbd> on the keyboard and you will be able to traverse the tree with arrows, <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd>, and <kbd>TAB</kbd> keys - and expand/collapse nodes with <kbd>SPACE</kbd> or <kbd>ENTER</kbd>.
|
||
|
* You can write plugins and wrapper functions to customize dump behavior!
|
||
|
* Read [the full documentation](https://kint-php.github.io/kint/) for more information
|
||
|
|
||
|
## Authors
|
||
|
|
||
|
[**Jonathan Vollebregt** (jnvsor)](https://github.com/jnvsor)
|
||
|
[Contributors](https://github.com/kint-php/kint/graphs/contributors)
|
||
|
|
||
|
## License
|
||
|
|
||
|
Licensed under the MIT License
|