[5.3] Implement blade macros feature #16583
Closed
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.
Please see: #16525
Summary:
Using
@include
directive only for abstraction on large iterations(for instance a collection) causes increasing render time due to the use of nativeinclude
feature. the purpose of an@include
in these situations is to satisfy the Don't repeat yourself problem but it increases render time even whenopcache
is fully enabled. In addition to this, lots of view events are fired(creating, composing) and lots of try/catch blocks are used.Solution:
@macro
@macro
directiveProblems:
Because of pasting the generated code inside the original view, file changes to the macro template are not detected, so views should be always cleared for each request in development environments.