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
Abstract
to its concrete implementation withinFile File
as other derivatives should implement this on their own. The moved methods are: -Abstract
-File->rename () Abstract
-File->copy To () Abstract
File->move To () - The
File
's methodInterface rename
has been removed as it is only necessary within the implementation of() File
. -
Classes implementing
Folder
must now implementInterface Folder
,Interface:: get Sub Folder () Folder
as well asInterface:: get Readable Path () Folder
andInterface:: get Files () Folder
to be interchangeable with the newInterface:: search Files () Folder
class.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
.