Файл: symfony-2.7/src/Symfony/Bundle/DebugBundle/DebugBundle.php
Строк: 93
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SymfonyBundleDebugBundle;
use SymfonyBundleDebugBundleDependencyInjectionCompilerDumpDataCollectorPass;
use SymfonyComponentDependencyInjectionContainerBuilder;
use SymfonyComponentHttpKernelBundleBundle;
use SymfonyComponentVarDumperDumperCliDumper;
use SymfonyComponentVarDumperVarDumper;
/**
* @author Nicolas Grekas <p@tchwork.com>
*/
class DebugBundle extends Bundle
{
public function boot()
{
if ($this->container->getParameter('kernel.debug')) {
$container = $this->container;
// This code is here to lazy load the dump stack. This default
// configuration for CLI mode is overridden in HTTP mode on
// 'kernel.request' event
VarDumper::setHandler(function ($var) use ($container) {
$dumper = new CliDumper();
$cloner = $container->get('var_dumper.cloner');
$handler = function ($var) use ($dumper, $cloner) {
$dumper->dump($cloner->cloneVar($var));
};
VarDumper::setHandler($handler);
$handler($var);
});
}
}
/**
* {@inheritdoc}
*/
public function build(ContainerBuilder $container)
{
parent::build($container);
$container->addCompilerPass(new DumpDataCollectorPass());
}
}