TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-100237-1679393509:
|
||||
|
||||
====================================================
|
||||
Deprecation: #100237 - TypoScript-related exceptions
|
||||
====================================================
|
||||
|
||||
See :issue:`100237`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Two exception classes related to the TypoScript condition matching logic have been
|
||||
marked as deprecated in TYPO3 v12 and will be removed in v13:
|
||||
|
||||
* :php:`\TYPO3\CMS\Core\Exception\MissingTsfeException`
|
||||
* :php:`\TYPO3\CMS\Core\Configuration\TypoScript\Exception\InvalidTypoScriptConditionException`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Both exceptions should have been marked :php:`@internal` within the core, but
|
||||
were not.
|
||||
|
||||
The exception :php:`\TYPO3\CMS\Core\Exception\MissingTsfeException` was an internal
|
||||
communication class and was caught internally, the use case was solved in a more
|
||||
simple way avoiding the exception.
|
||||
|
||||
The exception :php:`\TYPO3\CMS\Core\Configuration\TypoScript\Exception\InvalidTypoScriptConditionException`
|
||||
was related to conditions which triggered a warning within the symfony expression language. Those were
|
||||
turned into this exception in TYPO3 v11. In TYPO3 v12, the original exception will bubble up, forcing
|
||||
developers to fix the broken Symfony condition syntax.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Third-party extensions most likely neither throw nor catch these exceptions, the
|
||||
extension scanner will find possible usages.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No direct migration available.
|
||||
|
||||
.. note::
|
||||
|
||||
Using the :typoscript:`getTSFE()` function, developers have to ensure
|
||||
that "TSFE" is available before accessing its properties. A missing "TSFE",
|
||||
e.g. in backend context, does no longer automatically evaluate the whole
|
||||
condition to :php:`FALSE`. Instead, the function returns :php:`NULL`,
|
||||
which can be checked using either :typoscript:`[getTSFE() && getTSFE().id == 42]`
|
||||
or the null-safe operator :typoscript:`[getTSFE()?.id == 42]`.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:core
|
||||
Reference in New Issue
Block a user