The AjglBreakpointTwigExtension component allows you set breakpoints in twig templates.
This component requires the Xdebug PHP extension to be installed.
To install the latest stable version of this component, open a console and execute the following command:
$ composer require ajgl/breakpoint-twig-extension
The first step is to register the extension into the twig environment
/* @var $twig Twig_Environment */
$twig->addExtension(new Ajgl\Twig\Extension\BreakpointExtension());
Once registered, you can call the new breakpoint
function:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
{{ breakpoint() }}
</body>
</html>
Once stopped, your debugger will allow you to inspect the $environment
and $context
variables.
Any argument passed to the twig function will be added to the $arguments
array, so you can inspect it easily.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
{{ breakpoint(app.user, app.session) }}
</body>
</html>
If you want to use this extension in your Symfony application, you can enable the Symfony Bundle included in this package.
The bundle will register the twig extension automatically. So, once enabled, you
can insert the breakpoint
twig function in your templates.
// app/AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle();
}
// config/bundles.php
//...
return [
//...
Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle::class => ['dev' => true]
];
This component is under the MIT license. See the complete license in the LICENSE file.
Issues and feature requests are tracked in the Github issue tracker.
Developed with ♥ by Antonio J. García Lagar.
If you find this component useful, please add a ★ in the GitHub repository page and/or the Packagist package page.