Instead of creating an extension file structure from scratch, let the graphical editor of the Extension Builder assist you:
It provides a graphical modeler to define domain objects and their relations as well as associated controllers with basic actions. It also provides a properties form to define extension metadata, frontend plugins and backend modules that use the previously defined controllers and actions:
Finally, it generates a basic extension with that can be installed and further developed:
. └── ebt_blog/ ├── composer.json ├── ext_emconf.php ├── ext_localconf.php ├── ext_tables.php ├── ext_tables.sql ├── ExtensionBuilder.json ├── Classes/.. ├── Configuration/.. ├── Documentation/.. ├── Resources/.. └── Tests/..
In addition to the kickstart mode, the Extension Builder also provides a roundtrip mode that allows you to use the graphical editor even after you have started making manual changes to the files. In this mode, the Extension Builder retains the manual changes, such as new methods, changed method bodies, comments and annotations, even if you change the extension in the graphical editor.
Custom TYPO3 content elements¶
The Extension Builder focuses on the implementation of business logic in the sense of Domain-Driven Design. Unlike the deprecated Kickstarter extension, the Extension Builder is not intended for creating your own TYPO3 content elements. To create them, you should either use the Extension Builder to create a TYPO3 extension skeleton (without domain objects, controllers, plugins and modules) and add TYPO3 content elements manually, or use one of the dedicate extensions like Mask or Dynamic Content Elements (DCE) instead.