Features

A lightweight API class to check if a feature is enabled.

Features are simple options (true/false), and are stored in the global configuration array $TYPO3_CONF_VARS[SYS][features].

For disabling or enabling a feature the "ConfigurationManager" should be used.

-- Naming --

Feature names should NEVER named "enable" or having a negation, or containing versions or years "enableFeatureXyz" "disableOverlays" "schedulerRevamped" "useDoctrineQueries" "disablePreparedStatements" "disableHooksInFE"

Proper namings for features "ExtendedRichtextFormat" "NativeYamlParser" "InlinePageTranslations" "TypoScriptParserIncludesAsXml" "NativeDoctrineQueries"

Ideally, these feature switches are added via the Install Tool or via FactoryConfiguration and can be used for Extensions as well.

--- Usage ---

if (GeneralUtility::makeInstance(Features::class)->isFeatureEnabled('InlineSvg')) { ... do stuff here ... }

Table of Contents

Properties

$alwaysActiveFeatures  : array<string|int, mixed>
A list of features that are always activated (mainly happens if a previous feature switch is now always "turned on" to enforce a behaviour, but still valid for extension authors to ensure the feature switch returns "enabled" for future versions.

Methods

isFeatureEnabled()  : bool
Checks if a feature is active

Properties

$alwaysActiveFeatures

A list of features that are always activated (mainly happens if a previous feature switch is now always "turned on" to enforce a behaviour, but still valid for extension authors to ensure the feature switch returns "enabled" for future versions.

protected array<string|int, mixed> $alwaysActiveFeatures = [ // Enabled in v11.0 at any time, feature switch will be completely ignored in TYPO3 v12. 'fluidBasedPageModule', // Enabled in v10.0 at any time, feature switch will be completely ignored in TYPO3 v11. 'simplifiedControllerActionDispatching', 'unifiedPageTranslationHandling', 'felogin.extbase', ]

Usually, this list is kept for 1-2 major versions.

Methods

isFeatureEnabled()

Checks if a feature is active

public isFeatureEnabled(string $featureName) : bool
Parameters
$featureName : string

the name of the feature

Return values
bool

        
On this page

Search results