API A-Z
The TYPO3 Core code serves a dual purpose: It functions both as an out-of-the-box application and as a library providing APIs for extensions that enhance projects with additional functionality.
The TYPO3 Core itself organizes its code into extensions as well, with the "core" extension offering the majority of API classes. These classes are utilized by other key extensions such as "frontend" and "backend". These three extensions are mandatory for any TYPO3-based project, while others, like "scheduler," are optional.
This chapter focuses on the APIs primarily provided by these three essential extensions.
TYPO3 APIs are primarily documented within the source code itself. Maintaining documentation in multiple locations is impractical due to the frequent changes in the codebase. This chapter highlights the most critical elements of the API.
Note
The source is the documentation! (General wisdom)
Contents:
- Assets
- Authentication
- Autoloading
- Backend APIs
- Bitsets
- Caching
- System categories
- Code editor
- Commands
- Content Elements & Plugins
- Content Security Policy
- Context API and aspects
- Country API
- Cropping images
- Database
- Database records
- DataHandler
- Debugging
- Dependency injection
- Deprecation
- Environment
- Error and exception handling
-
Events and hooks
- Extending the TYPO3 Core
- Event dispatcher (PSR-14 events)
-
Event list
-
Backend
- AfterBackendPageRenderEvent
- AfterFormEnginePageInitializedEvent
- AfterHistoryRollbackFinishedEvent
- AfterPageColumnsSelectedForLocalizationEvent
- AfterPagePreviewUriGeneratedEvent
- AfterPageTreeItemsPreparedEvent
- AfterRawPageRowPreparedEvent
- AfterRecordSummaryForLocalizationEvent
- BeforeFormEnginePageInitializedEvent
- BeforeHistoryRollbackStartEvent
- BeforeModuleCreationEvent
- BeforePagePreviewUriGeneratedEvent
- BeforePageTreeIsFilteredEvent
- BeforeRecordDownloadIsExecutedEvent
- BeforeRecordDownloadPresetsAreDisplayedEvent
- BeforeSearchInDatabaseRecordProviderEvent
- CustomFileControlsEvent
- IsContentUsedOnPageLayoutEvent
- IsFileSelectableEvent
- ModifyAllowedItemsEvent
- ModifyButtonBarEvent
- ModifyClearCacheActionsEvent
- ModifyDatabaseQueryForContentEvent
- ModifyDatabaseQueryForRecordListingEvent
- ModifyEditFormUserAccessEvent
- ModifyFileReferenceControlsEvent
- ModifyFileReferenceEnabledControlsEvent
- ModifyGenericBackendMessagesEvent
- ModifyImageManipulationPreviewUrlEvent
- ModifyInlineElementControlsEvent
- ModifyInlineElementEnabledControlsEvent
- ModifyLinkExplanationEvent
- ModifyLinkHandlersEvent
- ModifyNewContentElementWizardItemsEvent
- ModifyPageLayoutContentEvent
- ModifyPageLayoutOnLoginProviderSelectionEvent
- ModifyQueryForLiveSearchEvent
- ModifyRecordListHeaderColumnsEvent
- ModifyRecordListRecordActionsEvent
- ModifyRecordListTableActionsEvent
- ModifyResultItemInLiveSearchEvent
- PageContentPreviewRenderingEvent
- PasswordHasBeenResetEvent
- RenderAdditionalContentToRecordListEvent
- SwitchUserEvent
- SystemInformationToolbarCollectorEvent
-
Core
- Authentication
- Cache
-
Configuration
- AfterFlexFormDataStructureIdentifierInitializedEvent
- AfterFlexFormDataStructureParsedEvent
- AfterTcaCompilationEvent
- BeforeFlexFormDataStructureIdentifierInitializedEvent
- BeforeFlexFormDataStructureParsedEvent
- BeforeTcaOverridesEvent
- ModifyLoadedPageTsConfigEvent
- SiteConfigurationBeforeWriteEvent
- SiteConfigurationLoadedEvent
- Core
- Country
- Database
- DataHandling
- Domain
- Html
- Imaging
- Link handling
- Package
- Page
- Password policy
-
Resource
- AfterDefaultUploadFolderWasResolvedEvent
- AfterFileAddedEvent
- AfterFileAddedToIndexEvent
- AfterFileCommandProcessedEvent
- AfterFileContentsSetEvent
- AfterFileCopiedEvent
- AfterFileCreatedEvent
- AfterFileDeletedEvent
- AfterFileMarkedAsMissingEvent
- AfterFileMetaDataCreatedEvent
- AfterFileMetaDataDeletedEvent
- AfterFileMetaDataUpdatedEvent
- AfterFileMovedEvent
- AfterFileProcessingEvent
- AfterFileRemovedFromIndexEvent
- AfterFileRenamedEvent
- AfterFileReplacedEvent
- AfterFileUpdatedInIndexEvent
- AfterFolderAddedEvent
- AfterFolderCopiedEvent
- AfterFolderDeletedEvent
- AfterFolderMovedEvent
- AfterFolderRenamedEvent
- AfterResourceStorageInitializationEvent
- AfterVideoPreviewFetchedEvent
- BeforeFileAddedEvent
- BeforeFileContentsSetEvent
- BeforeFileCopiedEvent
- BeforeFileCreatedEvent
- BeforeFileDeletedEvent
- BeforeFileMovedEvent
- BeforeFileProcessingEvent
- BeforeFileRenamedEvent
- BeforeFileReplacedEvent
- BeforeFolderAddedEvent
- BeforeFolderCopiedEvent
- BeforeFolderDeletedEvent
- BeforeFolderMovedEvent
- BeforeFolderRenamedEvent
- BeforeResourceStorageInitializationEvent
- EnrichFileMetaDataEvent
- GeneratePublicUrlForResourceEvent
- ModifyFileDumpEvent
- ModifyIconForResourcePropertiesEvent
- SanitizeFileNameEvent
- Security
- Tree
- TypoScript
- Extbase
- ExtensionManager
- Filelist
- Form
-
Frontend
- AfterCacheableContentIsGeneratedEvent
- AfterCachedPageIsPersistedEvent
- AfterContentHasBeenFetchedEvent
- AfterContentObjectRendererInitializedEvent
- AfterGetDataResolvedEvent
- AfterImageResourceResolvedEvent
- AfterLinkIsGeneratedEvent
- AfterPageAndLanguageIsResolvedEvent
- AfterPageWithRootLineIsResolvedEvent
- AfterStdWrapFunctionsExecutedEvent
- AfterStdWrapFunctionsInitializedEvent
- AfterTypoScriptDeterminedEvent
- BeforePageCacheIdentifierIsHashedEvent
- BeforePageIsResolvedEvent
- BeforeStdWrapContentStoredInCacheEvent
- BeforeStdWrapFunctionsExecutedEvent
- BeforeStdWrapFunctionsInitializedEvent
- EnhanceStdWrapEvent
- FilterMenuItemsEvent
- ModifyCacheLifetimeForPageEvent
- ModifyHrefLangTagsEvent
- ModifyImageSourceCollectionEvent
- ModifyPageLinkConfigurationEvent
- ModifyRecordsAfterFetchingContentEvent
- ModifyResolvedFrontendGroupsEvent
- ModifyTypoScriptConfigEvent
- ShouldUseCachedPageDataIfAvailableEvent
- FrontendLogin
- Impexp
- Indexed search
- Info
- Install
- Linkvalidator
- Lowlevel
- Redirects
- Seo
- Setup
- Workspaces
-
Backend
- Hooks
- JavaScript Event API
- File abstraction
- Custom file processors
- Flash messages
- FlexForms
- Fluid
- FormEngine
- Form protection tool
- Global values
- Icon API
- Link handling
- Localization
- Locking API
- Logging
- Mail API
- Message bus
- Mount points
- Namespaces
- Page types
- Pagination
- Parsing HTML
- Password hashing
- Password policies
- Requests
- Routing
- RTE
- SEO
- Services
- Sessions
- Site handling
- Soft references
- Symfony expression language
- System registry
- TSFE
- Webhooks and reactions
- Versioning and Workspaces
- XCLASSes