ViewHelpers do not compile similarly on 7.6 LTS and v8+
Due to differences in signatures of the compile() method on the former and current versions of Fluid, third-party ViewHelpers cannot implement a compile method which works on both versions.
The TYPO3 core should provide a legacy version of the compiling assistant traits on 7.6 and a set of aliases on 8.5+ which can be used in third party ViewHelpers to make them compile on 7.6 and 8.5+ using the same logic.
NB: a proof of concept for such aliases and legacy versions of compiling traits can be found at https://github.com/NamelessCoder/typo3-cms-fluid-gap and has been thoroughly tested to work on both versions. The few hundred lines of code they contain (which are only needed on 7.6; v8 can make do with a simple alias) make it possible for packages like VHS to offer greatly improved performance on both versions. Other extensions such as News and Powermail can adopt the aliases as well without risking incompatibility.
[TASK] Import forward-compatible Fluid compiling Traits
This change will allow third party ViewHelpers to
adopt the traits and benefit from
the same compiling support in TYPO3 7.6 as on v8.5+.
Reviewed-by: Helmut Hummel <firstname.lastname@example.org>
Tested-by: TYPO3com <email@example.com>
Reviewed-by: Wouter Wolters <firstname.lastname@example.org>
Reviewed-by: Christian Kuhn <email@example.com>
Tested-by: Christian Kuhn <firstname.lastname@example.org>