---
title: "Core concepts of Extbase"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extbase-concepts@main"
source: "ExtensionArchitecture/Extbase/Concepts/Index.rst"
rendered: "2026-09-24T12:36:55+00:00"
---

# Core concepts of Extbase {#extbase-concepts}

Before working with Extbase in detail it helps to understand the two ideas
that shape everything else: the MVC pattern and the ORM.

**MVC** ([Model-View-Controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller))
is an architectural pattern that separates what your data looks like, how it is
displayed, and what happens when a user makes a request. Extbase enforces this
separation structurally — controllers, models, and templates each live in their
own place and have clearly defined responsibilities.

**ORM** ([Object-Relational Mapping](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping))
is the mechanism that lets you work with PHP objects instead of raw database
rows. You call methods on a repository and receive populated domain objects; the
SQL stays out of your way.

Understanding these two ideas makes the rest of Extbase predictable. The naming
conventions, the file structure, the way repositories work, the way actions are
dispatched — all of it follows directly from MVC and ORM principles.

> [!NOTE]
> The pages in this chapter give you the bird's-eye view. They explain the
> *why*, not the *how*. Each section links to the dedicated chapter where the
> full detail lives — follow those links when you are ready to build.

-   [MVC and request flow](https://docs.typo3.org/permalink/t3coreapi:mvc-pattern-and-request-flow-in-extbase@main)
-   [Persistence and ORM](https://docs.typo3.org/permalink/t3coreapi:persistence-and-the-extbase-orm@main)
