PHP 8.4 compatibility

Created on 8 July 2025, 3 months ago

Problem/Motivation

There are a lot of deprecation warnings

FILE: ...ib/ckeditor5_premium_features/src/EditorXssFilter/CollaborationXSSFilter.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 21 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $original_format.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...croot/modules/contrib/ckeditor5_premium_features/src/Utility/FormElement.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 183 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $margin_config.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: .../ckeditor5_premium_features_collaboration/src/Entity/SuggestionInterface.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 86 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $chain_id.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...remium_features_collaboration/src/Entity/CollaborationEntityStorageTrait.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 48 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $item_key_filter.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...ules/ckeditor5_premium_features_collaboration/src/Entity/CommentsStorage.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 122 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $item_key_filter.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...s/modules/ckeditor5_premium_features_collaboration/src/Entity/Suggestion.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 148 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $chain_id.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...eatures_collaboration/src/Entity/CollaborationEntityAccessControlHandler.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
----------------------------------------------------------------------------------
 54 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $account.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
 94 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $account.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: .../modules/ckeditor5_premium_features_collaboration/src/Element/TextFormat.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
----------------------------------------------------------------------------------
 713 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $original_value.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
 714 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $new_value.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...editor5_premium_features_ai_assistant/src/Form/CKEditor5AiCommandAddForm.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 1 LINE
----------------------------------------------------------------------------------
 38 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $ckeditor5_ai_command_group.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
 38 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $uuid.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...ditor5_premium_features_ai_assistant/src/Form/CKEditor5AiCommandEditForm.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 1 LINE
----------------------------------------------------------------------------------
 30 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $ckeditor5_ai_command_group.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
 30 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $uuid.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...tor5_premium_features_ai_assistant/src/Form/CKEditor5AiCommandDeleteForm.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 58 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $ckeditor5_ai_command_group.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...or5_premium_features_notifications/src/Utility/NotificationContextHelper.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 106 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $originalContent.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...les/ckeditor5_premium_features_notifications/src/Entity/MessageInterface.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 51 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $refUid.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...ures/modules/ckeditor5_premium_features_notifications/src/Entity/Message.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 108 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $refUid.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...ditor5_premium_features_realtime_collaboration/src/Entity/ChannelStorage.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 1 LINE
----------------------------------------------------------------------------------
 84 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $element_id.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
 84 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $channel_id.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...ckeditor5_premium_features_realtime_collaboration/src/Element/TextFormat.php
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 477 | WARNING | Implicitly marking a parameter as nullable is deprecated since
     |         | PHP 8.4. Update the type to be explicitly nullable instead.
     |         | Found implicitly nullable parameter: $new_element_id.
     |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------


FILE: ...modules/contrib/ckeditor5_premium_features/ckeditor5_premium_features.module
----------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------------------
 85 | WARNING | Implicitly marking a parameter as nullable is deprecated since
    |         | PHP 8.4. Update the type to be explicitly nullable instead. Found
    |         | implicitly nullable parameter: $original_format.
    |         | (PHPCompatibility.FunctionDeclarations.RemovedImplicitlyNullableParam.Deprecated)
----------------------------------------------------------------------------------

Steps to reproduce

composer require --dev --with-all-dependencies \
    phpcompatibility/php-compatibility:10.x@dev \
    dealerdirect/phpcodesniffer-composer-installer:^1.1
php bin/phpcs -p -s \
  --standard=PHPCompatibility \
  --runtime-set testVersion 8.4 \
  --extensions="inc,install,module,php,profile,theme" \
  --ignore="core/lib/Drupal/Core/Test/*,*/tests/*" \
  docroot/modules/contrib/ckeditor5_premium_features

Proposed resolution

Explicitly mark parameters as nullable.

📌 Task
Status

Active

Version

1.5

Component

Code

Created by

🇩🇪Germany hosterholz

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024