From 22282deb4886e41db351140c55ba109861e6aedb Mon Sep 17 00:00:00 2001 From: Oliver Bartsch <bo@cedev.de> Date: Mon, 29 Nov 2021 22:46:09 +0100 Subject: [PATCH] [!!!][TASK] Remove service getters in ModuleTemplate The methods getIconFactory() and getPageRenderer() from ModuleTemplate are now removed, since they exposed internal state, while hiding dependencies. Those services have to be injected in the corresponding controllers directly. Resolves: #96151 Related: #95235 Releases: main Change-Id: I7af0f78e163b3319df1b74f922917b393da70ef7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72388 Tested-by: core-ci <typo3@b13.com> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Benni Mack <benni@typo3.org> --- .../Classes/Template/ModuleTemplate.php | 24 ------------------- ...g-96107-DeprecatedFunctionalityRemoved.rst | 2 ++ .../Php/MethodCallMatcher.php | 2 ++ 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/typo3/sysext/backend/Classes/Template/ModuleTemplate.php b/typo3/sysext/backend/Classes/Template/ModuleTemplate.php index 20f855ff05c2..439f47d41711 100644 --- a/typo3/sysext/backend/Classes/Template/ModuleTemplate.php +++ b/typo3/sysext/backend/Classes/Template/ModuleTemplate.php @@ -216,18 +216,6 @@ class ModuleTemplate return $this; } - /** - * @deprecated since v11, will be removed in v12 - */ - public function getIconFactory(): IconFactory - { - trigger_error( - 'Method ' . __METHOD__ . ' is deprecated and will be removed in TYPO3 12.0. Inject the service directly instead.', - E_USER_DEPRECATED - ); - return $this->iconFactory; - } - /** * Class constructor * Sets up view and property objects @@ -427,18 +415,6 @@ class ModuleTemplate return $this->pageRenderer->render(); } - /** - * @deprecated since v11, will be removed in v12 - */ - public function getPageRenderer(): PageRenderer - { - trigger_error( - 'Method ' . __METHOD__ . ' is deprecated and will be removed in TYPO3 12.0. Inject the service directly instead.', - E_USER_DEPRECATED - ); - return $this->pageRenderer; - } - /** * Set form tag * diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst index 50797ba0cece..4e0e6d29ac77 100644 --- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst @@ -38,6 +38,8 @@ The following PHP class methods that have previously been marked as deprecated f - :php:`\TYPO3\CMS\Core\Domain\Repository\PageRepository->fixVersioningPid()` - :php:`\TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider->addItemsFromSpecial()` +- :php:`\TYPO3\CMS\Backend\Template\ModuleTemplate->getIconFactory()` +- :php:`\TYPO3\CMS\Backend\Template\ModuleTemplate->getPageRenderer()` The following PHP static class methods that have previously been marked as deprecated for v11 and were now removed: diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php index 2171678b74b9..9402f1930651 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php @@ -4977,6 +4977,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-95235-PublicGetterOfServicesInModuleTemplate.rst', + 'Breaking-96107-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Backend\Template\ModuleTemplate->getPageRenderer' => [ @@ -4984,6 +4985,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-95235-PublicGetterOfServicesInModuleTemplate.rst', + 'Breaking-96107-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools->getArrayValueByPath' => [ -- GitLab