Attention
TYPO3 v12 has reached end-of-life as of April 30th 2026 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 v12 here: TYPO3 ELTS.
Extbase controller
Extbase controllers are the main entry point for handling requests in TYPO3's Extbase framework. They interpret incoming URLs, map and validate request data, and delegate tasks to your domain logic through well-structured, object-oriented code.
Controllers serve as a bridge between the request and the response:
- They call actions based on routing.
- They use Dependency injection to access services and repositories.
- They validate input using the Extbase property mapper and optionally apply additional validation rules via Using validation for Extbase models and controllers.
- They prepare and assign data to the Extbase view.
- They return the final response – typically rendered with Fluid templates.
Error handling is built-in via a dedicated Error action, ensuring robust and predictable behavior in case something goes wrong.
To make a controller callable, it must be registered in a plugin configuration. This tells TYPO3 which controller and actions are available in which context.
See Extbase plugins for details.
Contents:
Controller
See also
If you are using the
stefanfroemken/ext-kickstarter
you can use
command vendor/ to generate a controller.