Skip to content

[TwigBundle] Command twig:debug #9832

Closed
@sirian

Description

@sirian

What about adding twig:debug command which displays information about registered extensions, globals, functions, variables, etc..

like this

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $twig = $this->getContainer()->get('twig');

        $output->writeln('<info>Extensions</info>');
        foreach ($twig->getExtensions() as $extension) {
            $output->writeln(sprintf('  %-30s: %s', $extension->getName(), get_class($extension)));
        }

        if ($twig->getGlobals()) {
            $output->writeln('');
            $output->writeln('<info>Globals</info>');
            foreach ($twig->getGlobals() as $key => $value) {
                $output->writeln(sprintf('  %s', $key));
            }
        }


        if ($twig->getFunctions()) {
            $output->writeln('');
            $output->writeln('<info>Functions</info>');
            foreach ($twig->getFunctions() as $name => $function) {
                if ($function instanceof \Twig_SimpleFunction) {
                    $name = $function->getName();
                }
                $output->writeln(sprintf('  %s', $name));
            }
        }

        if ($twig->getFilters()) {
            $output->writeln('');
            $output->writeln('<info>Filters</info>');
            foreach ($twig->getFilters() as $name => $filter) {
                if ($filter instanceof \Twig_SimpleFilter) {
                    $name = $filter->getName();
                }
                $output->writeln(sprintf('  %s', $name));
            }
        }
    }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions