Вход Регистрация
Файл: vendor/symfony/http-kernel/EventListener/DumpListener.php
Строк: 117
<?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 SymfonyComponentHttpKernelEventListener;

use 
SymfonyComponentConsoleConsoleEvents;
use 
SymfonyComponentEventDispatcherEventSubscriberInterface;
use 
SymfonyComponentVarDumperClonerClonerInterface;
use 
SymfonyComponentVarDumperDumperDataDumperInterface;
use 
SymfonyComponentVarDumperServerConnection;
use 
SymfonyComponentVarDumperVarDumper;

/**
 * Configures dump() handler.
 *
 * @author Nicolas Grekas <p@tchwork.com>
 */
class DumpListener implements EventSubscriberInterface
{
    private 
$cloner;
    private 
$dumper;
    private 
$connection;

    public function 
__construct(ClonerInterface $clonerDataDumperInterface $dumperConnection $connection null)
    {
        
$this->cloner $cloner;
        
$this->dumper $dumper;
        
$this->connection $connection;
    }

    public function 
configure()
    {
        
$cloner $this->cloner;
        
$dumper $this->dumper;
        
$connection $this->connection;

        
VarDumper::setHandler(static function ($var) use ($cloner$dumper$connection) {
            
$data $cloner->cloneVar($var);

            if (!
$connection || !$connection->write($data)) {
                
$dumper->dump($data);
            }
        });
    }

    public static function 
getSubscribedEvents(): array
    {
        if (!
class_exists(ConsoleEvents::class)) {
            return [];
        }

        
// Register early to have a working dump() as early as possible
        
return [ConsoleEvents::COMMAND => ['configure'1024]];
    }
}
Онлайн: 0
Реклама