Files
cms-core/Documentation/Changelog/11.4/Feature-95089-NewPSR-14AfterFileCommandProcessedEvent.rst

57 lines
1.7 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _feature-95089:
===========================================================
Feature: #95089 - New PSR-14 AfterFileCommandProcessedEvent
===========================================================
See :issue:`95089`
Description
===========
A new PSR-14 event :php:`\TYPO3\CMS\Core\Resource\Event\AfterFileCommandProcessedEvent`
has been added to TYPO3 Core. This event is fired in the
:php:`\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility`
class and allows extensions to execute additional tasks, after a file
operation has been performed.
The event features the following methods:
- :php:`getCommand()`: Returns the command array while the array key is the performed action and the value is the command data ("cmdArr")
- :php:`getResult()`: Returns the operation result, which could e.g. be an uploaded or changed :php:`File` or a :php:`boolean` for the "delete" action
- :php:`getConflictMode()`: The conflict mode for the performed operation, e.g. "rename" or "cancel"
Registration of the Event in your extensions' :file:`Services.yaml`:
.. code-block:: yaml
MyVendor\MyPackage\File\MyEventListener:
tags:
- name: event.listener
identifier: 'my-package/file/my-event-listener'
The corresponding event listener class:
.. code-block:: php
use TYPO3\CMS\Core\Resource\Event\AfterFileCommandProcessedEvent;
class MyEventListener {
public function __invoke(AfterFileCommandProcessedEvent $event): void
{
// do magic here
}
}
Impact
======
This event can be used to perform additional tasks for specific file commands.
For example, trigger a custom indexer after a file has been uploaded.
.. index:: PHP-API, ext:core