---
title: "Extension folder Classes for PHP classes"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extension-classes@main"
source: "ExtensionArchitecture/FileStructure/Classes/Index.rst"
rendered: "2026-09-28T12:36:38+00:00"
---

# Extension folder `Classes` for PHP classes {#extension-classes}

Contains all the PHP classes in an extension, with one class per file. Should have subfolders like
`Controller/`, `Domain/`, `Service/` or `View/`.
For more details on class file naming and PHP namespaces, see chapter
[namespaces](https://docs.typo3.org/permalink/t3coreapi:namespaces@main).

Typical PHP classes in this folder:

-   **SomeController.php**

    -   *Scope:* extension
    -   *Path (Composer):* packages/my_extension/Classes/Controller/SomeController.php
    -   *Path (Classic):* typo3conf/ext/my_extension/Classes/Controller/SomeController.php

    Contains MVC Controller classes. In Extbase extensions the classes inherit
    from `\TYPO3\CMS\Extbase\Mvc\Controller\ActionController`.

    See also chapter [Extbase Controller](https://docs.typo3.org/permalink/t3coreapi:extbase-controller-overview).

-   **Something.php**

    -   *Scope:* extension
    -   *Path (Composer):* packages/my_extension/Classes/Domain/Model/Something.php
    -   *Path (Classic):* typo3conf/ext/my_extension/Classes/Domain/Model/Something.php

    Contains MVC Domain model classes. In Extbase they inherit from
    `\TYPO3\CMS\Extbase\DomainObject\AbstractEntity`. See also
    [Extbase Model](https://docs.typo3.org/permalink/t3coreapi:extbase-domain-model).

-   **SomethingRepository.php**

    -   *Scope:* extension
    -   *Path (Composer):* packages/my_extension/Classes/Domain/Repository/SomethingRepository.php
    -   *Path (Classic):* typo3conf/ext/my_extension/Classes/Domain/Repository/SomethingRepository.php

    Contains data repository classes. In Extbase a repository inherits from
    `\TYPO3\CMS\Extbase\Persistence\Repository`. See also
    [Extbase Repository](https://docs.typo3.org/permalink/t3coreapi:extbase-domain-repository).

-   **MyViewHelper.php**

    -   *Scope:* extension
    -   *Path (Composer):* packages/my_extension/Classes/ViewHelpers/MyViewHelper.php
    -   *Path (Classic):* typo3conf/ext/my_extension/Classes/ViewHelpers/MyViewHelper.php

    Helper classes used in Fluid templates. See also
    [Developing a custom ViewHelper](https://docs.typo3.org/permalink/t3coreapi:fluid-custom-viewhelper).
