Breaking: #101281 - Introduce type declarations in ResourceInterface¶
See forge#101281
Description¶
The following methods of interface
\TYPO3\CMS\Core\Resource\ResourceInterface
have been given return
type declarations:
public function getIdentifier(): string;
public function getName(): string;
public function getStorage(): ResourceStorage;
public function getHashedIdentifier(): string;
public function getParentFolder(): FolderInterface;
Copied!
Impact¶
This affects many classes due to the following implementation rules:
\TYPO3\CMS\Core\Resource\Folder
, because it implements\TYPO3\CMS\Core\Resource\FolderInterface
which extends\TYPO3\CMS\Core\Resource\ResourceInterface
\TYPO3\CMS\Core\Resource\FileReference
, and\TYPO3\CMS\Core\Resource\AbstractFile
because both implement\TYPO3\CMS\Core\Resource\FileInterface
which extends\TYPO3\CMS\Core\Resource\ResourceInterface
\TYPO3\CMS\Core\Resource\File
and\TYPO3\CMS\Core\Resource\ProcessedFile
because both extend\TYPO3\CMS\Core\Resource\AbstractFile
In consequence, the following methods are affected:
\TYPO3\CMS\Core\Resource\Folder::getIdentifier()
\TYPO3\CMS\Core\Resource\Folder::getName()
\TYPO3\CMS\Core\Resource\Folder::getStorage()
\TYPO3\CMS\Core\Resource\Folder::getHashedIdentifier()
\TYPO3\CMS\Core\Resource\Folder::getParentFolder()
\TYPO3\CMS\Core\Resource\FileReference::getIdentifier()
\TYPO3\CMS\Core\Resource\FileReference::getName()
\TYPO3\CMS\Core\Resource\FileReference::getStorage()
\TYPO3\CMS\Core\Resource\FileReference::getHashedIdentifier()
\TYPO3\CMS\Core\Resource\FileReference::getParentFolder()
\TYPO3\CMS\Core\Resource\AbstractFile::getIdentifier()
\TYPO3\CMS\Core\Resource\AbstractFile::getName()
\TYPO3\CMS\Core\Resource\AbstractFile::getStorage()
\TYPO3\CMS\Core\Resource\AbstractFile::getHashedIdentifier()
\TYPO3\CMS\Core\Resource\AbstractFile::getParentFolder()
\TYPO3\CMS\Core\Resource\File::getIdentifier()
\TYPO3\CMS\Core\Resource\File::getName()
\TYPO3\CMS\Core\Resource\File::getStorage()
\TYPO3\CMS\Core\Resource\File::getHashedIdentifier()
\TYPO3\CMS\Core\Resource\File::getParentFolder()
\TYPO3\CMS\Core\Resource\ProcessedFile::getIdentifier()
\TYPO3\CMS\Core\Resource\ProcessedFile::getName()
\TYPO3\CMS\Core\Resource\ProcessedFile::getStorage()
\TYPO3\CMS\Core\Resource\ProcessedFile::getHashedIdentifier()
\TYPO3\CMS\Core\Resource\ProcessedFile::getParentFolder()
Affected installations¶
Affected installations are those which either implement the ResourceInterface
directly (very unlikely) or those that extend any of mentioned implementations
(Core classes).
The usage (the API) of those implementation itself has not changed!
Migration¶
Use the same return type declarations as ResourceInterface
does.