Project

General

Profile

Actions

Task #78749

closed

Make 7.6 Fluid capable of compiling ViewHelpers w/o CompilableInterface

Added by Claus Due over 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2016-11-19
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

As a follow-up / cross-version compatibility concern I suggest changing the template compiling on Fluid on 7.6 LTS so it no longer (exclusively) depends on the presence of the CompilableInterface.

The reasons are:

  • The Interface is merged with the plain ViewHelperInterface on TYPO3v8 and Fluid standalone (on TYPO3v8 the CompilableInterface is an alias, in Fluid standalone it no longer exists).
  • Fluid ViewHelpers which can now compile on both versions since https://review.typo3.org/#/c/50676/ would need to implement an interface that is deprecated on one version.
  • Fluid is technically capable of compiling ViewHelpers by checking if the compile() method exists; as a second decision after checking if the CompilableInterface exists

This can be achieved without breaking things - and it does not imply any changes to core ViewHelpers. On 7.6 those ViewHelpers will still use the interface - on TYPO3v8+ they no longer use it and instead assume compilable.

Goal of the change:

  • Allowing third party ViewHelpers to not implement CompilableInterface but instead implement a compile() method and get the same functionality.
Actions

Also available in: Atom PDF