Add support for additional where* methods to route groups#43731
Merged
taylorotwell merged 2 commits intolaravel:9.xfrom Aug 18, 2022
ollieread:supper-regex-where-for-route-groups
Merged
Add support for additional where* methods to route groups#43731taylorotwell merged 2 commits intolaravel:9.xfrom ollieread:supper-regex-where-for-route-groups
taylorotwell merged 2 commits intolaravel:9.xfrom
ollieread:supper-regex-where-for-route-groups
Conversation
Contributor
|
@ollieread Have you tested this with route caching enabled? |
Contributor
Author
I have not, but I'm confident that I do not need to. Route groups already support where attributes, and these methods are wrappers for the where attribute. There is nothing new created because of this, it's just easier. |
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 PR addresses the change originally mentioned in #43509 and reverted in #43523.
Unlike the original PR, it adds support for all of the additional
where*methods available on a route, to a route group, by adding theCreatesRegularExpressionRouteConstraintstrait.It works directly on the router, handled by
Router::__callwith an explicit check for beginning withwhere, that proxies to the method. There is no check to see if the method exists, because if it does not, it will be passed to theRouteRegistrar::attributesmethod automatically, so will achieve the same without the requirement for an additional condition.And on a
RouteRegistrar, using the trait.This PR also adds 8 tests that test both of the approaches, as they are slightly different. No changes have been made to
RouteRegistrar::allowedAttributesbecause the trait turns them intowhereattributes.