From 6e2f50ae2196486326742772d220bd36cad18bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech> Date: Fri, 28 Jun 2024 13:34:26 +0200 Subject: [PATCH] [TASK] Avoid implicitly nullable class method parameter in `EXT:extensionmanager` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With PHP 8.4 marking method parameter implicitly nullable is deprecated and will emit a `E_DEPRECATED` warning. One recommended way to resolve this, is making it explicitly nullable using the `?` nullable operator or adding a null tyype 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 Resolves: #104247 Releases: main, 12.4, 11.5 Change-Id: I71d8f59eaba6dd22b00f8eb7400f2b49d748e430 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84992 Tested-by: core-ci <typo3@b13.com> Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Stefan Bürk <stefan@buerk.tech> --- .../Classes/Remote/ExtensionDownloaderRemoteInterface.php | 2 +- .../extensionmanager/Classes/Remote/TerExtensionRemote.php | 2 +- .../extensionmanager/Classes/Report/ExtensionComposerStatus.php | 2 +- .../sysext/extensionmanager/Classes/Report/ExtensionStatus.php | 2 +- .../sysext/extensionmanager/Classes/Utility/InstallUtility.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/typo3/sysext/extensionmanager/Classes/Remote/ExtensionDownloaderRemoteInterface.php b/typo3/sysext/extensionmanager/Classes/Remote/ExtensionDownloaderRemoteInterface.php index b18678614947..15898905d9d9 100644 --- a/typo3/sysext/extensionmanager/Classes/Remote/ExtensionDownloaderRemoteInterface.php +++ b/typo3/sysext/extensionmanager/Classes/Remote/ExtensionDownloaderRemoteInterface.php @@ -44,5 +44,5 @@ interface ExtensionDownloaderRemoteInterface * @throws DownloadFailedException when a remote file could not be loaded. * @throws VerificationFailedException when the remote file could not be unpacked or validated. */ - public function downloadExtension(string $extensionKey, string $version, FileHandlingUtility $fileHandler, string $verificationHash = null, string $pathType = 'Local'): void; + public function downloadExtension(string $extensionKey, string $version, FileHandlingUtility $fileHandler, ?string $verificationHash = null, string $pathType = 'Local'): void; } diff --git a/typo3/sysext/extensionmanager/Classes/Remote/TerExtensionRemote.php b/typo3/sysext/extensionmanager/Classes/Remote/TerExtensionRemote.php index 74daca9cfe1d..511c00c66590 100644 --- a/typo3/sysext/extensionmanager/Classes/Remote/TerExtensionRemote.php +++ b/typo3/sysext/extensionmanager/Classes/Remote/TerExtensionRemote.php @@ -158,7 +158,7 @@ class TerExtensionRemote implements ExtensionDownloaderRemoteInterface, Listable * @throws DownloadFailedException * @throws VerificationFailedException */ - public function downloadExtension(string $extensionKey, string $version, FileHandlingUtility $fileHandler, string $verificationHash = null, string $pathType = 'Local'): void + public function downloadExtension(string $extensionKey, string $version, FileHandlingUtility $fileHandler, ?string $verificationHash = null, string $pathType = 'Local'): void { $extensionPath = strtolower($extensionKey); $remotePath = $extensionPath[0] . '/' . $extensionPath[1] . '/' . $extensionPath . '_' . $version . '.t3x'; diff --git a/typo3/sysext/extensionmanager/Classes/Report/ExtensionComposerStatus.php b/typo3/sysext/extensionmanager/Classes/Report/ExtensionComposerStatus.php index 60e0d75caa03..a76045149d93 100644 --- a/typo3/sysext/extensionmanager/Classes/Report/ExtensionComposerStatus.php +++ b/typo3/sysext/extensionmanager/Classes/Report/ExtensionComposerStatus.php @@ -48,7 +48,7 @@ class ExtensionComposerStatus implements RequestAwareStatusProviderInterface $this->uriBuilder = $uriBuilder; } - public function getStatus(ServerRequestInterface $request = null): array + public function getStatus(?ServerRequestInterface $request = null): array { $status = []; $extensionsWithComposerDeficit = $this->composerDeficitDetector->getExtensionsWithComposerDeficit(); diff --git a/typo3/sysext/extensionmanager/Classes/Report/ExtensionStatus.php b/typo3/sysext/extensionmanager/Classes/Report/ExtensionStatus.php index 3aa25d127821..ca35fad71f0a 100644 --- a/typo3/sysext/extensionmanager/Classes/Report/ExtensionStatus.php +++ b/typo3/sysext/extensionmanager/Classes/Report/ExtensionStatus.php @@ -64,7 +64,7 @@ class ExtensionStatus implements StatusProviderInterface /** * @param RemoteRegistry|null $remoteRegistry */ - public function __construct(RemoteRegistry $remoteRegistry = null) + public function __construct(?RemoteRegistry $remoteRegistry = null) { $this->remoteRegistry = $remoteRegistry ?? GeneralUtility::makeInstance(RemoteRegistry::class); $this->listUtility = GeneralUtility::makeInstance(ListUtility::class); diff --git a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php index 9529bb5d0384..44aadb8a5662 100644 --- a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php +++ b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php @@ -539,7 +539,7 @@ class InstallUtility implements SingletonInterface, LoggerAwareInterface * @param string $packagePath * @param Import|null $import */ - protected function importSiteConfiguration(string $extensionKey, string $packagePath, Import $import = null): void + protected function importSiteConfiguration(string $extensionKey, string $packagePath, ?Import $import = null): void { $importAbsFolder = $packagePath . 'Initialisation/Site'; $destinationFolder = Environment::getConfigPath() . '/sites'; -- GitLab