devtheorem/php-handlebars-parser

Parse Handlebars templates to a spec-compliant AST with PHP.

Maintainers

👁 theodorejb

Package info

github.com/devtheorem/php-handlebars-parser

pkg:composer/devtheorem/php-handlebars-parser

Statistics

Installs: 17 378

Dependents: 1

Suggesters: 0

Stars: 3

Open Issues: 0

v2.1.1 2026-04-29 19:31 UTC

Requires

  • php: >=8.2

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT a45b34baeb7d5304787aa30380758177b4193773

  • Theodore Brown <theodorejb.woop@outlook.com>

phptemplateparseasthandlebars

This package is auto-updated.

Last update: 2026-05-29 20:19:25 UTC


README

Parse Handlebars templates to a spec-compliant AST with PHP.

Implements the same lexical analysis and grammar specification as Handlebars.js, so any template which can (or cannot) be parsed by Handlebars.js should parse (or error) the same way here.

Note

This project is only a parser. To compile Handlebars templates to native PHP for execution, see PHP Handlebars, which uses this parser.

Installation

composer require devtheorem/php-handlebars-parser

Usage

use DevTheorem\HandlebarsParser\ParserFactory;

$parser = (new ParserFactory())->create();

$template = "Hello {{name}}!";

$result = $parser->parse($template);

If the template contains invalid syntax, an exception will be thrown. Otherwise, $result will contain a DevTheorem\HandlebarsParser\Ast\Program instance.

Whitespace handling

The ignoreStandalone Handlebars compilation option can be passed to parse():

$result = $parser->parse($template, ignoreStandalone: true);

Author

Theodore Brown
https://theodorejb.me