[TASK] Prepare towards PHP 8.4 compatibility #519
Merged
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.
[TASK] Avoid implicitly nullable class method parameter
With PHP 8.4 marking method parameter implicitly nullable
is deprecated and will emit a
E_DEPRECATEDwarning. Onerecommended way to resolve this, is making it explicitly
nullable using the
?nullable operator or adding a nulltype to an union type definition. [1]
This prepares the way towards PHP 8.4 compatibility.
[1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated
[TASK] Ensure coding-style for nullable type declarations
This change modifies the
php-cs-fixerruleset andactivate two rules related to nullable types.
Following options are added:
nullable_type_declarationensures to use?<type>declarationinstead of union type
<type>|nullas a convention for properties,method and return types. For already union types the nullable is
added as additional null union type
ObjectOne|ObjectInterface|null.nullable_type_declaration_for_default_null_valueensuresto use nullable type declarations to mitigate implicitly
nullable method arguments [1] which has been already fixed
with a series of dedicated changes.
Used command(s):
[1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated