Project

General

Profile

Actions

Task #103926

closed

Avoid implicitly nullable parameter on DatabaseRecordException

Added by Stefan Bürk about 1 month ago. Updated 30 days ago.

Status:
Resolved
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2024-05-26
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
11
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

With PHP 8.4 marking method parameter implicitly nullable
is depreacted and will emit a `E_DEPRECATED` warning. One
recommended way to resolve this, is making it explicitly
nullable using the `?` nullable operator. [1]

In cases, where are implicitly nullable parameter exists
before not-nullable parameters in a method or constructor,
making it explicitly nullable will emit a

Optional parameter <paramname> declared before required
parameter <paramname> is implicitly treated as a required
parameter

since PHP 8.0 [2].

This change modifies the class constructor signature of
`\TYPO3\CMS\Backend\Form\Exception\DatabaseRecordException`
and moves the required parameter before the optional and
nullable previous execption parameter and adjust the
core place throwing this exception to follow that pattern.

[1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated
[2] https://php.watch/versions/8.0/deprecate-required-param-after-optional

Actions

Also available in: Atom PDF