[10.x] Explicit nullable parameter declarations to fix PHP 8.4 deprecation #50921
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.
Closes #50803
Draft State
Let's run tests and get some opinions first, if this should be applied to Laravel 11 or Laravel 10. (I opted here for Laravel 10, not sure what this would imply when merging changes upstream)
Pint will be removed before the merge.
Description Taken from the provided issue:
As of PHP 8.4, implicitly nullable parameter declarations will be deprecated. See also https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated and https://wiki.php.net/rfc/deprecate-implicitly-nullable-types.
Currently, a large number of functions within this codebase still use this pattern; see also a quick example I made with rector. This should probably be adjusted.
Implementation suggestions: