[!!!][TASK] Remove CMS base ViewHelper classes
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-82414-RemoveCMSBaseViewHelperClasses.rst
1 .. include:: ../../Includes.txt
2
3 ======================================================
4 Breaking: #82414 - CMS ViewHelper base classes removed
5 ======================================================
6
7 See :issue:`82414`
8
9 Description
10 ===========
11
12 The following ViewHelper base classes have been removed:
13
14 - :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractConditionViewHelper`
15 - :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper`
16 - :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper`
17 - :php:`TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition`
18
19 Aliases are in place, but the following key differences may break your code:
20
21 - Render method arguments are no longer possible at all
22 - The property :php:`$this->controllerContext` is no longer defined
23
24
25 Impact
26 ======
27
28 Render method arguments have been deprecated for a long time and should already have been migrated
29 in your code. If you still have ViewHelpers using render method arguments, these will break
30 after this change.
31
32
33 Affected Installations
34 ======================
35
36 All instances which use a ViewHelper that either contains render method arguments, extends from one
37 of the base classes above, or or accesses :php:`$this->controllerContext`.
38
39
40 Migration
41 =========
42
43 Migrate to use `renderStatic` methods (see examples in TYPO3 Core, EXT:fluid) to not use
44 render method arguments.
45
46
47 ViewHelpers which access :php:`$this->controllerContext` can instead access
48 :php:`$this->renderingContext->getControllerContext()`.
49
50 Migrating this can be done with search-and-replace for all common use cases.
51
52 .. index:: Fluid, NotScanned