Breaking: #106427 - File Abstraction Layer related changes
See forge#106427
Description
In TYPO3 v14, the PHP code API for the File Abstraction Layer (FAL) has undergone some major changes, which might affect extension authors:
- Most PHP code from FAL is now strongly typed by PHP native typing system
- Some methods have been moved from
Abstractto its concrete implementation withinFile Fileas other derivatives should implement this on their own. The moved methods are: -Abstract-File->rename () Abstract-File->copy To () AbstractFile->move To () - The
File's methodInterface renamehas been removed as it is only necessary within the implementation of() File. -
Classes implementing
Foldermust now implementInterface Folder,Interface:: get Sub Folder () Folderas well asInterface:: get Readable Path () FolderandInterface:: get Files () Folderto be interchangeable with the newInterface:: search Files () Folderclass.In previous implementations this was not possible to make Folder more interchangeable but this is a first step towards that process.
Impact
Calling the PHP classes and methods from File Abstraction Layer directly might result in fatal PHP errors due to specific types required as method arguments.
Affected installations
TYPO3 installations with third-party extensions that have used FAL API in a non-documented way.
Migration
Ensure to hand in or expect proper PHP types when using or extending FAL API.
In addition, ensure to implement the new methods in your own
Folder
implementations or derivatives of
Abstract.