[TASK] Update devtheorem/php-handlebars to v1#15
Merged
eliashaeussler merged 2 commits intomainfrom Mar 23, 2026
Merged
Conversation
| datasource | package | from | to | | ---------- | ------------------------- | ----- | ----- | | packagist | devtheorem/php-handlebars | 0.9.9 | 1.0.0 |
Contributor
Author
|
Collaborator
Pull Request Test Coverage Report for Build 23430209341Details
💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.9.8→^0.9.8 || ^1.0.0Release Notes
devtheorem/php-handlebars (devtheorem/php-handlebars)
v1.0.0Compare Source
Rewrote the parser and compiler to use an abstract syntax tree, based on the same lexical analysis
and grammar specification as Handlebars.js. This eliminates a large class of edge cases and parsing
bugs that the old regex-based approach failed to handle correctly.
This release is 35-40% faster than v0.9.9 and LightnCandy at compiling and executing complex templates,
and uses almost 30% less memory. The code is also significantly simpler and easier to maintain.
Added
helperMissingandblockHelperMissinghooks: handle calls to unknown helpers with the same APIas in Handlebars.js, replacing the old
helperResolveroption.knownHelperscompile option: tell the compiler which helpers will be available at runtime formore efficient execution (helper existence checks can be skipped).
assumeObjectscompile option: a subset ofstrictmode that generates optimized templates whenthe data inputs are known to be safe.
{{person/firstname}}path expressions for parity with Handlebars.js(avoid using this syntax in new code, though).
Changed
helpersruntimeoption key), rather than via the
Optionsobject passed tocompileorprecompile. This is asignificant optimization, since it eliminates the overhead of reading and tokenizing PHP files to
extract helper functions. It also enables sharing helper closures across multiple templates and
renders, and removes limitations on what they can access and do
(e.g. it resolves zordius/lightncandy#342).
can now be caught in your own code for easier debugging (#13).
partialResolverclosure signature no longer receives an internalContextargument.Now only the partial name is passed.
knownHelpersOnlynow works as in Handlebars.js, and an exception will be thrown if the templateuses a helper which is not in the
knownHelperslist.Removed
Options::$helpers: instead pass custom helpers when invoking a template, using thehelperskeyin the runtime options array (the second argument to the template closure).
Options::$helperResolver: use thehelperMissing/blockHelperMissingruntime helpers instead.Fixed
else ifusing custom helper (#2).@partial-blockexpressions.@partial-blockin nested partials (zordius/lightncandy#292).{{#with}}or other block leaking out of that block's scope after it closes.Configuration
📅 Schedule: Branch creation - Monday through Friday ( * * * * 1-5 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.