Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
PHP architecture
This chapter aims to give developers some ideas and practices at hand when PHP architectural decisions have to be taken. Result should be a understanding of some thoughts behind and a harmonization of solutions found in the TYPO3 Core and maybe in third-party extensions. It should help reviewers to evaluate solutions and how they stick to the main code separation principles the Core tries to follow. The document should help developers to train their architectural skills and to rate easier which pattern matches a given problem to improve code quality and exchangeability.
These following sections also address cross-cutting concerns, which are problems that have to be solved at multiple, distinct places within the system that have no further connection to each other. It is a cross-class hierarchy and maybe cross-extension problem that can and should not be solved with class abstractions.