TYPO3 Logo
TYPO3 Core Changelog
Options
Give feedback View source How to edit Edit on GitHub Full documentation (single file)

TYPO3 Core Changelog

  • ChangeLog v14
    • 14.0 Changes
    • 14.x Changes by type
  • ChangeLog v13
    • 13.4.x Changes
    • 13.4 Changes
    • 13.3 Changes
    • 13.2 Changes
    • 13.1 Changes
    • 13.0 Changes
    • 13.x Changes by type
  • ChangeLog v12
    • 12.4.x Changes
    • 12.4 Changes
    • 12.3 Changes
    • 12.2 Changes
    • 12.1 Changes
    • 12.0 Changes
    • 12.x Changes by type
  • ChangeLog v11
    • 11.5.x Changes
    • 11.5 Changes
    • 11.4 Changes
    • 11.3 Changes
    • 11.2 Changes
    • 11.1 Changes
    • 11.0 Changes
    • 11.x Changes by type
  • ChangeLog v10
    • 10.4.x Changes
    • 10.4 Changes
    • 10.3 Changes
    • 10.2 Changes
    • 10.1 Changes
    • 10.0 Changes
    • 10.x Changes by type
  • ChangeLog v9
    • 9.5.x Changes
    • 9.5 Changes
    • 9.4 Changes
    • 9.3 Changes
    • 9.2 Changes
    • 9.1 Changes
    • 9.0 Changes
    • 9.x Changes by type
  • ChangeLog v8
    • 8.7.x Changes
    • 8.7 Changes
    • 8.6 Changes
    • 8.5 Changes
    • 8.4 Changes
    • 8.3 Changes
    • 8.2 Changes
    • 8.1 Changes
    • 8.0 Changes
    • 8.x Changes by type
  • ChangeLog v7
    • 7.6.x Changes
    • 7.6 Changes
    • 7.5 Changes
    • 7.4 Changes
    • 7.3 Changes
    • 7.2 Changes
    • 7.1 Changes
    • 7.0 Changes
    • 7.x Changes by type
  • Documenting Changes
  • Sitemap
  1. TYPO3 Core Changelog
  2. ChangeLog v14
  3. 14.0 Changes
  4. Breaking: #106427 - File Abstraction Layer related changes
Give feedback Edit on GitHub

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:

  1. Most PHP code from FAL is now strongly typed by PHP native typing system
  2. Some methods have been moved from AbstractFile to its concrete implementation within File as other derivatives should implement this on their own. The moved methods are: - AbstractFile->rename() - AbstractFile->copyTo() - AbstractFile->moveTo()
  3. The FileInterface's method rename() has been removed as it is only necessary within the implementation of File.
  4. Classes implementing FolderInterface must now implement FolderInterface::getSubFolder(), FolderInterface::getReadablePath() as well as FolderInterface::getFiles() and FolderInterface::searchFiles() to be interchangeable with the new 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 AbstractFile.

  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Contact
  • Issues
  • Repository

Last rendered: May 20, 2025 09:23

© since 1997 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy