Deprecation: #101559 - Extbase uses ext:core ViewInterface

See forge#101559

Description

The default view of ext:extbase now returns a view that implements \TYPO3\CMS\Core\View\ViewInterface and not only \TYPO3Fluid\Fluid\View\ViewInterface anymore. This allows implementing any view that implements ViewInterface , and frees the direct dependency to Fluid.

The default return object is an instance of \TYPO3\CMS\Fluid\View\FluidViewAdapter which implements all special methods tailored for Fluid. Extbase controllers should check for instance of this object before calling these methods, especially:

  • getRenderingContext()
  • setRenderingContext()
  • renderSection()
  • renderPartial()

Method calls not being part of ViewInterface or the above listed method names have been marked as deprecated and will be removed in TYPO3 v14.

Impact

Extbase controllers that extend ActionController and call methods not part of ViewInterface , should test for $view instanceof FluidViewAdapter before calling getRenderingContext(), setRenderingContext(), php:renderSection() and renderPartial().

All other Fluid related methods called on $view have been marked as deprecated and will log a deprecation level error message.

Affected installations

Instances with Extbase based extensions that call $view methods without testing for FluidViewAdapter .

Migration

Methods on "old" Fluid instances were wrapper methods for RenderingContext . Controllers should call $view->getRenderingContext() to perform operations instead.