Extension folder Classes for PHP classes

Contains all PHP classes. One class per file. Should have sub folders like Controller/, Domain/, Service/ or View/. For more details on class file namings and PHP namespaces, see chapter namespaces.

Typical PHP classes in this folder:

Classes/Controller/SomeController.php

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.

Classes/Domain/Model/Something.php

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.

Classes/Domain/Repository/SomethingRepository.php

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.

Classes/ViewHelpers/MyViewHelper.php

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.