Declaration file (
– required in legacy installations
ext_emconf.php is used in
legacy installations not based on Composer to
supply information about the extension to the Extensions module. In
these installations the ordering of installed extensions and their dependencies
are loaded from this file as well.
Changed in version 11.4: The ordering of installed extensions and their dependencies are loaded from
composer.json file, instead of
The only thing included
is an associative array,
The keys are described in the table below.
This file is overwritten, when extensions are imported from the online
repository. So don’t write your custom code in this file - only change
values in the
$EM_CONF array if needed.
<?php $EM_CONF[$_EXTKEY] = [ 'title' => 'Extension title', 'description' => 'Extension description', 'category' => 'plugin', 'author' => 'John Doe', 'author_email' => 'firstname.lastname@example.org', 'author_company' => 'some company', 'state' => 'stable', 'clearCacheOnLoad' => 0, 'version' => '1.0.0', 'constraints' => [ 'depends' => [ 'typo3' => '11.5.0-11.99.99', ], 'conflicts' => [ ], 'suggests' => [ ], ], ];
$_EXTKEY is set globally and contains the extension key.
Due to limitations to the TER (TYPO3 Extension Repository),
$_EXTKEY should be used here and not a constant or a string.
|title||string, required||The name of the extension in English.|
|description||string, required||Short and precise description in English of what the extension does and for whom it might be useful.|
|version||string||Version of the extension. Automatically managed by EM / TER. Format is [int].[int].[int]|
Which category the extension belongs to:
List of requirements, suggestions or conflicts with other extensions or TYPO3 or PHP version. Here’s how a typical setup might look:
'constraints' => [ 'depends' => [ 'typo3' => '10.4.0-11.5.99', 'php' => '7.4.0-8.0.99' ], 'conflicts' => [ 'templavoilaplus' => '' ], 'suggests' => [ 'news' => '9.0.0-0.0.0' ], ]
The above example indicates that the extension depends on a
version of TYPO3 between 10.4 and 11.5 (as only bug and security fixes are
integrated into TYPO3 when the last digit of the version changes, it is
safe to assume it will be compatible with any upcoming version of the
corresponding branch, thus
For legacy installations the
Extension authors should ensure that the information here is in sync
Which state is the extension in
|clearCacheOnLoad||boolean||If set, the EM will request all caches (incl. FE cache) to be cleared when this extension is loaded. If false (default), only system cache will be cleared.|
|author_email||email address||Author email address|
To get better class loading support for websites in legacy mode the following information can be provided.
Extensions having one folder with classes or single files
Considering you have an Extbase extension (or an extension where all classes
and interfaces reside in a
'autoload' => [ 'classmap' => [ 'Classes', 'a-class.php', ] ],
Extensions using namespaces
If the extension has namespaced classes following the PSR-4 standard, then you
can add the following to your
'autoload' => [ 'psr-4' => [ 'Vendor\\ExtName\\' => 'Classes' ] ],
The prefix must end with a backslash.
|autoload-dev||array||Same as the configuration “autoload” but it is only used if the ApplicationContext is set to Testing.|
See older versions of this page.