Merged
Conversation
jramke
approved these changes
Feb 24, 2026
This patch introduces new data structures that represent annotations for ViewHelpers/Components or their individual arguments. The purpose is to be able to attach arbitrary information to definitions of ViewHelpers/Components or arguments, either to pass them along as-is or to react to them within Fluid. There are places within Fluid where something like this already exists (e. g. XSD schema), and there are multiple additional use cases for this, both by Fluid itself and by third-party libraries that extend Fluid, for example: * Marking ViewHelpers/Components or individual arguments as deprecated * Collecting information for documentation from PhpDoc comments * Attaching additional validations/constraints to component arguments In this first step, only the low-level API is provided, which consists of interfaces and a generic implementation. Since this concept is new to Fluid, the API is still classified as internal and might change with future revisions. Since the `ArgumentDefinition` needs to be written to Fluid's template cache files, each annotation needs to implement the `compile()` method, which returns the PHP code that re-creates the annotation object when a template is read from cache.
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 patch introduces new data structures that represent annotations
for ViewHelpers/Components or their individual arguments. The purpose
is to be able to attach arbitrary information to definitions of
ViewHelpers/Components or arguments, either to pass them along as-is
or to react to them within Fluid. There are places within Fluid where
something like this already exists (e. g. XSD schema), and there are
multiple additional use cases for this, both by Fluid itself and by
third-party libraries that extend Fluid, for example:
In this first step, only the low-level API is provided, which
consists of interfaces and a generic implementation. Since this concept
is new to Fluid, the API is still classified as internal and might
change with future revisions.
Since the
ArgumentDefinitionneeds to be written to Fluid's templatecache files, each annotation needs to implement the
compile()method, which returns the PHP code that re-creates the annotation object
when a template is read from cache.