The following is a list of recommended namespaces for various classes when developing within the Contao framework. None of these are mandatory though.
Namespace | Resource |
---|---|
App\ContaoManager |
Contao Manager related classes (e.g. the Manager Plugin) |
App\Controller\ContentElement |
Content element fragment controllers |
App\Controller\FrontendModule |
Front end module fragment controllres |
App\Cron |
Cron jobs |
App\EventListener |
Symfony event listeners, Contao hooks & callbacks |
App\Model |
Database models |
App\Widget |
Form widgets |
As it is customary within the Symfony environment, classes of certain namespaces should also be named with a namespace specific suffix:
Namespace | Suffix | Example |
---|---|---|
App\Controller |
Controller |
App\Controller\ExampleController |
App\Cron |
Cron |
App\Cron\ExampleCron |
App\EventListener |
Listener |
App\EventListener\ExampleListener |
App\Model |
Model |
App\Model\ExampleModel |
… | … | … |