Skip to content

ajgarlag/AjglBreakpointTwigExtension

Repository files navigation

AjglBreakpointTwigExtension

The AjglBreakpointTwigExtension component allows you set breakpoints in twig templates.

Build Status Latest Stable Version Latest Unstable Version Total Downloads Montly Downloads Daily Downloads License

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 --dev

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

The package includes a Symfony Bundle to automatically register the Twig extension.

If the app uses Symfony Flex and you allow the recipe execution, the bundle will be enabled automatically.

If you need to configure it manually, add the following line to the config/bundles.php file:

// 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.