.. include:: /Includes.rst.txt .. _feature-89733: =============================================================================== Feature: #89733 - New PSR-14 events for existing Signal Slots in Core Extension =============================================================================== See :issue:`89733` Description =========== PSR-14 EventDispatching allows for TYPO3 Extensions or PHP packages to extend TYPO3 Core functionality in an exchangeable way. The following new PSR-14 events have been introduced: - :php:`TYPO3\CMS\Backend\Authentication\Event\SwitchUserEvent` - :php:`TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent` - :php:`TYPO3\CMS\Backend\Controller\Event\BeforeFormEnginePageInitializedEvent` - :php:`TYPO3\CMS\Backend\Controller\Event\AfterFormEnginePageInitializedEvent` - :php:`TYPO3\CMS\Backend\LoginProvider\Event\ModifyPageLayoutOnLoginProviderSelectionEvent` - :php:`TYPO3\CMS\Core\Imaging\Event\ModifyIconForResourcePropertiesEvent` - :php:`TYPO3\CMS\Core\DataHandling\Event\IsTableExcludedFromReferenceIndexEvent` - :php:`TYPO3\CMS\Core\DataHandling\Event\AppendLinkHandlerElementsEvent` - :php:`TYPO3\CMS\Core\Configuration\Event\AfterTcaCompilationEvent` - :php:`TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent` - :php:`TYPO3\CMS\Core\Tree\Event\ModifyTreeDataEvent` - :php:`TYPO3\CMS\Core\Configuration\Event\ModifyLoadedPageTsConfigEvent` - :php:`TYPO3\CMS\Impexp\Event\BeforeImportEvent` - :php:`TYPO3\CMS\Install\Service\Event\ModifyLanguagePackRemoteBaseUrlEvent` - :php:`TYPO3\CMS\Linkvalidator\Event\BeforeRecordIsAnalyzedEvent` - :php:`TYPO3\CMS\Seo\Event\ModifyUrlForCanonicalTagEvent` - :php:`TYPO3\CMS\Workspaces\Event\AfterCompiledCacheableDataForWorkspaceEvent` - :php:`TYPO3\CMS\Workspaces\Event\AfterDataGeneratedForWorkspaceEvent` - :php:`TYPO3\CMS\Workspaces\Event\GetVersionedDataEvent` - :php:`TYPO3\CMS\Workspaces\Event\SortVersionedDataEvent` They replace the existing Extbase-based Signal Slots - :php:`TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::getSystemInformation` - :php:`TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::loadMessages` - :php:`TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider::getPageRenderer` - :php:`TYPO3\CMS\Backend\Controller\EditDocumentController::preInitAfter` - :php:`TYPO3\CMS\Backend\Controller\EditDocumentController::initAfter` - :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getPagesTSconfigPreInclude` - :php:`TYPO3\CMS\Beuser\Controller\BackendUserController::switchUser` - :php:`TYPO3\CMS\Core\Database\SoftReferenceIndex::setTypoLinkPartsElement` - :php:`TYPO3\CMS\Core\Database\ReferenceIndex::shouldExcludeTableFromReferenceIndex` - :php:`TYPO3\CMS\Core\Imaging\IconFactory::buildIconForResourceSignal` - :php:`TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider::PostProcessTreeData` - :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::tcaIsBeingBuilt` - :php:`TYPO3\CMS\Impexp\Utility\ImportExportUtility::afterImportExportInitialisation` - :php:`TYPO3\CMS\Install\Service\SqlExpectedSchemaService::tablesDefinitionIsBeingBuilt` - :php:`TYPO3\CMS\Lang\Service\TranslationService::postProcessMirrorUrl` - :php:`TYPO3\CMS\Linkvalidator\LinkAnalyzer::beforeAnalyzeRecord` - :php:`TYPO3\CMS\Seo\Canonical\CanonicalGenerator::beforeGeneratingCanonical` - :php:`TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GenerateDataArray_BeforeCaching` - :php:`TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GenerateDataArray_PostProcesss` - :php:`TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GetDataArray_PostProcesss` - :php:`TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_SortDataArray_PostProcesss` Impact ====== It is now possible to add listeners to the new PSR-14 Events which define a clear API what can be read or modified. The listeners can be added to the :file:`Configuration/Services.yaml` as it is done in TYPO3's shipped extensions as well. .. index:: PHP-API, ext:core