Polski: Przepraszam za nieestetyczny wygląd mojej strony internetowej. Niestety z powodu natłoku pracy nie miałem jeszcze czasu nad tym popracować. Posiadam pewną wizję, do której oczywiście będę dążył. Póki co, zapraszam do czytania moich Solucji i Narzędzi.

English: Sorry for the unsightly look of my website. Unfortunately, because of the sheer volume of work I did not have time to work on that. I have a vision, which, of course, I will seek. For now, I invite you to read my Solutions and Tools.

Doctrine DebugStack with Symfony Console Table

$logger = new DebugStack();
$db->getConfiguration()->setSQLLogger($logger);

// ...

$tbl = new Table($output);
$tbl->setHeaders(['sql', 'params', 'types', 'executionMS']);
$tbl->addRows(array_map(function (array $item) {
    return array_map(function ($item) {
        return is_array($item) ? implode(',', $item) : $item;
    }, $item);
}, $logger->queries));
$tbl->render();
class DebugStackTable extends DebugStack
{
    /**
     * @var OutputInterface
     */
    private $output;

    public function __construct(OutputInterface $output)
    {
        $this->output = $output;
    }

    public function render()
    {
        $table = new Table($this->output);
        $table->setHeaders(['sql', 'params', 'types', 'executionMS']);
        $table->addRows(array_map(function(array $item){
            return array_map(function($item){
                return is_array($item) ? implode(',', $item) : $item;
            }, $item);
        }, $this->queries));
        $table->render();
    }
}

« Favourite code - dconf-tools »