Deprecation: #110994 - Extbase controller actions as comma-separated string 

See forge#110994

Description 

Extbase controller actions can be registered either as an array of action names or as a comma-separated string of action names. Passing a comma-separated string has been deprecated. This affects:

  • The $controllerActions and $nonCacheableControllerActions arguments of \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()
  • The controllerActions option of Extbase backend modules registered in Configuration/Backend/Modules.php

Impact 

Passing actions as a comma-separated string triggers a PHP E_USER_DEPRECATED error. Support for comma-separated strings will be removed in TYPO3 v16.0.

Affected installations 

TYPO3 installations with extensions that register Extbase plugins or Extbase backend modules with controller actions defined as a comma-separated string are affected.

Migration 

Pass an array of action names instead of a comma-separated string.

Before:

EXT:my_extension/ext_localconf.php
ExtensionUtility::configurePlugin(
    'MyExtension',
    'List',
    [ItemController::class => 'list, show'],
    [ItemController::class => 'show'],
);
Copied!

After:

EXT:my_extension/ext_localconf.php
ExtensionUtility::configurePlugin(
    'MyExtension',
    'List',
    [ItemController::class => ['list', 'show']],
    [ItemController::class => ['show']],
);
Copied!

Before:

EXT:my_extension/Configuration/Backend/Modules.php
'controllerActions' => [
    ItemController::class => 'list, show',
],
Copied!

After:

EXT:my_extension/Configuration/Backend/Modules.php
'controllerActions' => [
    ItemController::class => ['list', 'show'],
],
Copied!