Breaking: #106427 - File Abstraction Layer related changes
See forge#106427
Description
In TYPO3 v14, the PHP API of the File Abstraction Layer (FAL) has undergone major internal changes that may affect extension authors.
- Most PHP classes and interfaces within FAL are now strongly typed using native PHP type declarations.
-
Several methods have been moved from
Abstractto its concrete implementationFile File, since only this class should provide such behavior. The moved methods are:AbstractFile->rename () AbstractFile->copy To () AbstractFile->move To ()
- The
FilemethodInterface renamehas been removed, as this operation is only relevant to the concrete() Fileimplementation. -
Classes implementing
Foldermust now implement the following methods to stay compatible with the newInterface Folderclass:getSub Folder () getReadable Path () getFiles () searchFiles ()
Previously, this was not enforced, but it is now required to make
Foldermore interchangeable across implementations.
Impact
Calling PHP classes or methods from the File Abstraction Layer directly may result in fatal PHP errors if incorrect or missing argument types are used.
Affected installations
TYPO3 installations with third-party extensions that interact with the FAL PHP API in non-documented ways.
Migration
Ensure that all FAL-related code passes and expects the correct PHP types when using or extending the API.
If you provide custom implementations of
Folder or classes extending
Abstract, make sure to implement the
newly required methods accordingly.