* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\EventListener; use Symfony\Component\Console\ConsoleEvents; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\VarDumper\Cloner\ClonerInterface; use Symfony\Component\VarDumper\Dumper\DataDumperInterface; use Symfony\Component\VarDumper\VarDumper; /** * Configures dump() handler. * * @author Nicolas Grekas */ class DumpListener implements EventSubscriberInterface { private $cloner; private $dumper; public function __construct(ClonerInterface $cloner, DataDumperInterface $dumper) { $this->cloner = $cloner; $this->dumper = $dumper; } public function configure() { $cloner = $this->cloner; $dumper = $this->dumper; VarDumper::setHandler(function ($var) use ($cloner, $dumper) { $dumper->dump($cloner->cloneVar($var)); }); } public static function getSubscribedEvents() { // Register early to have a working dump() as early as possible return array(ConsoleEvents::COMMAND => array('configure', 1024)); } }