Add FromRouteDefault attribute for route default values #1109
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.
Overview
This PR adds a new
FromRouteDefaultattribute that allows injecting route default values into data properties.Problem
Laravel allows setting default route values via
->defaults('key', 'value'), commonly used for route grouping and middleware logic. The existingFromRouteParameteronly works with URL parameters like{parameter}, not defaults.Solution
The
FromRouteDefaultattribute:->defaults()FromRouteParameterfor parameter → default fallback behaviorExample Usage
Basic usage with route defaults:
Stacking attributes for fallback behavior:
When accessing
/songs/archived,$statuswill be'archived'(from parameter). For routes without the{status}parameter, it falls back to'published'(from default).What's Included
FromRouteDefaultattribute implementation in FromRouteDefault.phpUse Case
This is particularly useful for section-based routing where you have route groups with default values that need to be accessed in your data objects: