Add filter to $output before it is cached #2910
Merged
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.
Related:
Issue
When filtering $output with
timber/output
the result is not cached. This is inefficient if the filter being applied is deterministic based on $output content, because the filter results could also be cached rather than being run every time.Solution
This pull request adds another filter,
timber/output/pre-cache
, immediately after the template is rendered and before the $output is cached. If this filter is used, then its results will be cached.Impact
This pull request is backwards compatible, and does not break any existing uses of
timber/output
. Theapply_filters
call may add a tiny bit of overhead to each render (not including the actual filter, if any are added) , but overall this could be considered negligible.Usage Changes
No changes to how Timber is used, other than an additional filter.
Considerations
Testing
No tests needed.