ajgl/breakpoint-twig-extension

0.3.1 2017-11-20 13:04 UTC

README

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 Scrutinizer Code Quality Code Coverage SensioLabsInsight StyleCI

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:

// app/AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
    $bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle();
}

This bundle will register the twig extension automatically. So, once enabled, you can insert the breakpoint twig function in your templates.

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.