* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bridge\Twig\Extension; use Symfony\Bridge\Twig\TokenParser\StopwatchTokenParser; use Symfony\Component\Stopwatch\Stopwatch; use Twig\Extension\AbstractExtension; use Twig\TokenParser\TokenParserInterface; /** * Twig extension for the stopwatch helper. * * @author Wouter J */ final class StopwatchExtension extends AbstractExtension { private $stopwatch; private $enabled; public function __construct(Stopwatch $stopwatch = null, bool $enabled = true) { $this->stopwatch = $stopwatch; $this->enabled = $enabled; } public function getStopwatch(): Stopwatch { return $this->stopwatch; } /** * @return TokenParserInterface[] */ public function getTokenParsers(): array { return [ /* * {% stopwatch foo %} * Some stuff which will be recorded on the timeline * {% endstopwatch %} */ new StopwatchTokenParser(null !== $this->stopwatch && $this->enabled), ]; } }