README.md
AjglBreakpointTwigExtension
The AjglBreakpointTwigExtension component allows you set breakpoints in twig templates.
This component requires the Xdebug PHP extension to be installed.
Installation
To install the latest stable version of this component, open a console and execute the following command:
$ composer require ajgl/breakpoint-twig-extension
Usage
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.
Function arguments
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>
Symfony Bundle
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.
Symfony 2/3
// app/AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle();
}
Symfony 4
// config/bundles.php
//...
return [
//...
Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle::class => ['dev' => true]
];
License
This component is under the MIT license. See the complete license in the LICENSE file.
Reporting an issue or a feature request
Issues and feature requests are tracked in the Github issue tracker.
Author Information
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.