[7.x] Add blade attribute method whereDoesNotStartsWith(string)
#33851
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 adds a method
whereDoesNotStartsWith($string)which complements thewhereStartsWith($string)for handling blade component attribute bags.What is this used for?
In general this complements the
whereStartsWith($string)so that one can easily split the attribute bag into two portions that can be handled differently.One great example would be a Livewire compatible component like:
Now a completely simplified version of this component could be something like:
Alternatives
There is already a filter method, so essentially these two are identical:
{{ $attributes->whereDoesNotStartsWith('wire:') }}<!-- New proposed syntax --> {{ $attributes->filter(fn ($value, $key) => ! \Illuminate\Support\Str::startsWith($key, 'wire:')) }}<!-- Already available -->