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.
Rework of the Actions to get rid of
ActionUtilTrait
.Rationale: This trait contains two methods: one which decorates the Item provider to throw an HTTP exception, and the other one to extract attributes. The issues are:
A consequence of the second point is that they will have to dig into the code to understand the nature of this array returned by
::extractAttributes()
.Changes proposed by this PR:
ItemDataProvider
for the HTTP context (throw aNotFoundHttpException
exception)AttributesBag
containing the properties required by the actions' providers, which provides a solid API instead of an array of elementsRequestAttributesExtractor
and its interface for extracting the request attributes (previously the array return by the trait::extractAttributes()
Also as there was other element with an HTTP context besides the Actions, I moved Actions and those new elements under an
Http
namespace.Elements to review besides those changes:
HttpFoundation
: as v2 is targeting a wilder audience, it would be nice if we could get rid of thisHttpFoundation
dependence and be PSR-7 compliant and simply have a bridge forHttpFoundation