TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83429:
|
||||
|
||||
=================================
|
||||
Feature: #83429 - Feature Toggles
|
||||
=================================
|
||||
|
||||
See :issue:`83429`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In order to allow better support for alternative functionality while keeping old functionality, a new API
|
||||
for enabling installation-wide features - called "Feature Toggles" - has been added.
|
||||
|
||||
The new API checks against a system-wide option array within :php:`$TYPO3_CONF_VARS['SYS']['features']` which can be
|
||||
enabled system-wide. Both TYPO3 Core and Extensions can then provide alternative functionality for a certain
|
||||
feature.
|
||||
|
||||
Features are usually breaking changes for a minor version / sprint release, which site administrators can enable
|
||||
at their own risk, or stay fully compatible with third-party extensions by choosing not to enable them.
|
||||
|
||||
Examples for having features are:
|
||||
|
||||
* Throw exceptions on certain occasions instead of just returning a string message as error message.
|
||||
* Disable obsolete functionality which might still be used, but slows down the system.
|
||||
* Enable alternative `PageNotFound handling` for an installation.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Features are documented for TYPO3 Core. For extension authors, the API can be used for any custom
|
||||
feature provided by an extension:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
if (GeneralUtility::makeInstance(Features::class)->isFeatureEnabled('myFeatureName')) {
|
||||
// do custom processing
|
||||
}
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API
|
||||
Reference in New Issue
Block a user