Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
ext_emconf.php
-- required in legacy installations
The ext_
is used in
legacy installations not based on Composer to
supply information about an extension in the Admin Tools > Extensions
module. In these installations the ordering of installed extensions and their
dependencies are loaded from this file as well.
It is also needed for Writing functional tests
with the typo3/
in v8 and
earlier.
Changed in version 11.4
In Composer-based installations, the ordering of installed extensions and
their dependencies is loaded from the composer.
file, instead of
ext_
The only content included is an associative array,
$EM_
. The keys are described in the table below.
This file is overwritten when extensions are imported from the online
repository. So do not write your custom code into this file - only change
values in the $EM_
array if needed.
Example:
<?php
$EM_CONF[$_EXTKEY] = [
'title' => 'Extension title',
'description' => 'Extension description',
'category' => 'plugin',
'author' => 'John Doe',
'author_email' => 'john.doe@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' => [
],
],
];
$_
is set globally and contains the extension key.
Attention
Due to limitations of the TER (TYPO3 Extension Repository),
$_
should be used here and not a constant or a string. Furthermore, the
ext_
must not declare strict_
, otherwise TER upload will fail.
Key |
Data type |
Description |
---|---|---|
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 extension manager / TER. Format is [int].[int].[int] |
category |
string |
Which category the extension belongs to:
|
constraints |
array |
List of requirements, suggestions or conflicts with other extensions or TYPO3 or PHP version. Here's how a typical setup might look:
Copied!
The above example indicates that the extension depends on a
version of TYPO3 between 11.4 and 12.4 (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 Note Extension authors should ensure that the information here is in sync
with the |
state |
string |
Which state is the extension in
|
clearCacheOnLoad |
boolean |
If set, the extension manager will request all caches (incl. frontend cache) to be cleared when this extension is loaded. If false (default), only the system cache will be cleared. |
author |
string |
Author name |
author_email |
email address |
Author email address |
author_company |
string |
Author company |
autoload |
array |
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
Copied!
Extensions using namespaces If the extension has namespaced classes following the PSR-4 standard, then you
can add the following to your
Copied!
Important 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. |
Deprecated configuration
See older versions of this page.