TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-VersionState-1687856333:
|
||||
|
||||
==============================================================
|
||||
Breaking: #101175 - Convert VersionState to native backed enum
|
||||
==============================================================
|
||||
|
||||
See :issue:`101175`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The class :php:`\TYPO3\CMS\Core\Versioning\VersionState` is now
|
||||
converted to a native PHP backed enum.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Since :php:`\TYPO3\CMS\Core\Versioning\VersionState` is no longer
|
||||
a class, the existing class constants are no longer available, but are
|
||||
enum instances instead.
|
||||
|
||||
In addition it's not possible to instantiate it anymore or call
|
||||
the :php:`equals()` method.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 code using the following code:
|
||||
|
||||
Using the following class constants:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DEFAULT_STATE`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::NEW_PLACEHOLDER`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DELETE_PLACEHOLDER`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::MOVE_POINTER`
|
||||
|
||||
Class instantiation:
|
||||
|
||||
- :php:`new \TYPO3\CMS\Core\Versioning\(VersionState::*->value)`
|
||||
|
||||
where * denotes one of the enum values.
|
||||
|
||||
Method invocation:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::cast()`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::cast()->equals()`
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new syntax for getting the values:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DEFAULT_STATE->value`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::NEW_PLACEHOLDER->value`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DELETE_PLACEHOLDER->value`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::MOVE_POINTER->value`
|
||||
|
||||
Class instantiation should be replaced by:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom($row['t3ver_state'])`
|
||||
|
||||
Method invocation of :php:`cast()`/:php:`equals()` should be replaced by:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom(...)`
|
||||
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom(...) === VersionState::MOVE_POINTER`
|
||||
|
||||
.. index:: Backend, NotScanned, ext:backend, ext:core, ext:frontend, ext:workspaces
|
||||
Reference in New Issue
Block a user