This bundle provides an easy and extensible var_dump/print_r replacement for Symfony2 projects, both in controllers or Twig templates. For example, with this bundle, the following is possible:
<?php
class UserController extends Controller
{
public function userAction($username) {
ladybug_dump($username); // or just ld($username)
}
}
{{ user.username|ladybug_dump }}
Getting as a result:
Add the following line to the composer.json
file:
{
"require": {
"raulfraile/ladybug-bundle": "~1.0"
}
}
To actually install Ladybug in your project, download the composer binary and run it:
wget http://getcomposer.org/composer.phar
# or
curl -O http://getcomposer.org/composer.phar
php composer.phar install
Finally, enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new RaulFraile\Bundle\LadybugBundle\RaulFraileLadybugBundle(),
);
}
It is possible to dump any variable, including arrays, objects and resources:
<?php
$var = array(1, 2, 3);
ladybug_dump($var)
<?php
ladybug_dump($this->getRequest())
The same can be accomplished using the Twig filter ladybug_dump
.
The are 5 helpers that can be used in any controller:
ladybug_dump($var1[, $var2[, ...]])
: Dumps one or more variables
ladybug_dump_die($var1[, $var2[, ...]])
: Dumps one or more variables and
terminates the current script
ladybug_dump_return($format, $var1[, $var2[, ...]])
: Dumps one or more variables and
returns the dump in any of the following formats:
- yml: Returns the dump in YAML
- json: Returns the dump in JSON
- xml: Returns the dump in XML
- php: Returns the dump in PHP arrays
ladybug_dump_ini([$extension])
: Dumps all configuration options
ladybug_dump_ext()
: Dumps loaded extensions
There are also some shortcuts in case you are not using this function names:
ld($var1[, $var2[, ...]])
: shortcut for ladybug_dump
ldd($var1[, $var2[, ...]])
: shortcut for ladybug_dump_die
ldr($format, $var1[, $var2[, ...]])
: shortcut for ladybug_return
Only ladybug_dump
can be used inside Twig templates.
Instead of printing out the dump tree inside the HTML document, you can use the Ladybug logger and see the results in a tab of the Symfony profiler:
To make use of the Ladybug logger, grab the ladybug
service from the DIC, and call the log
method:
<?php
class TestController
{
public function testAction()
{
$var = 1;
$this->get('ladybug')->log($var);
}
Ladybug automatically detects Symfony, Doctrine, Twig, Silex and other classes, and link them to the official documentation.
You can configure ladybug library directly in your config.yml
file. Here are the defaults:
raul_fraile_ladybug:
theme: modern # select the theme: base, modern or custom themes
expanded: false # true to expand all the variables tree by default
silenced: false # true to ignore all ladybug calls
- Raul Fraile (@raulfraile)
- All contributors
LadybugBundle is released under the MIT License. See the bundled LICENSE file for details.