TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-106427-1742911405:
|
||||
|
||||
==========================================================
|
||||
Breaking: #106427 - File Abstraction Layer related changes
|
||||
==========================================================
|
||||
|
||||
See :issue:`106427`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In TYPO3 v14, the PHP API of the **File Abstraction Layer (FAL)** has undergone
|
||||
major internal changes that may affect extension authors.
|
||||
|
||||
1. Most PHP classes and interfaces within FAL are now strongly typed using
|
||||
native PHP type declarations.
|
||||
|
||||
2. Several methods have been moved from
|
||||
:php-short:`\TYPO3\CMS\Core\Resource\AbstractFile` to its concrete
|
||||
implementation :php-short:`\TYPO3\CMS\Core\Resource\File`, since only this
|
||||
class should provide such behavior. The moved methods are:
|
||||
|
||||
- :php:`AbstractFile->rename()`
|
||||
- :php:`AbstractFile->copyTo()`
|
||||
- :php:`AbstractFile->moveTo()`
|
||||
|
||||
3. The :php-short:`\TYPO3\CMS\Core\Resource\FileInterface` method
|
||||
:php:`rename()` has been removed, as this operation is only relevant to the
|
||||
concrete :php-short:`\TYPO3\CMS\Core\Resource\File` implementation.
|
||||
|
||||
4. Classes implementing :php-short:`\TYPO3\CMS\Core\Resource\FolderInterface`
|
||||
must now implement the following methods to stay compatible with the new
|
||||
:php-short:`\TYPO3\CMS\Core\Resource\Folder` class:
|
||||
|
||||
- :php:`getSubFolder()`
|
||||
- :php:`getReadablePath()`
|
||||
- :php:`getFiles()`
|
||||
- :php:`searchFiles()`
|
||||
|
||||
Previously, this was not enforced, but it is now required to make
|
||||
:php:`Folder` more 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
|
||||
:php-short:`\TYPO3\CMS\Core\Resource\FolderInterface` or classes extending
|
||||
:php-short:`\TYPO3\CMS\Core\Resource\AbstractFile`, make sure to implement the
|
||||
newly required methods accordingly.
|
||||
|
||||
.. index:: FAL, PHP-API, NotScanned, ext:core
|
||||
Reference in New Issue
Block a user