Project

General

Profile

Actions

Bug #87899

closed

Magic getters stop to be evaluated in Fluid starting from TYPO3 9

Added by Felix Althaus about 5 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Fluid
Target version:
-
Start date:
2019-03-13
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

I found a breaking change in sysext/fluid that was considered non-breaking
I‘m referring to this change:
https://review.typo3.org/c/Packages/TYPO3.CMS/+/54043
which relates to this task:
https://forge.typo3.org/issues/82229

My Problem:
We assign an object to a standalone view that uses __call magic method to mimic getter calls.
Up to TYPO3 8.7 there was a class call \TYPO3\CMS\Fluid\Core\Variables\CmsVariableProvider which used ObjectAccess::getPropertyPath internally to fetch values. Magic getters worked well, since ObjectAccess uses is_callable internally.
Starting from TYPO3 9.x this class was removed. It‘s now \TYPO3Fluid\Fluid\Core\Variables\StandardVariableProvider that will do the job. In the end method_exists is called which means the magic function is not called.

That leads to the conclusion that the original change was breaking.


Related issues 3 (1 open2 closed)

Related to TYPO3 Core - Task #82229: Remove extended fluid core classClosedBenni Mack2017-08-28

Actions
Related to TYPO3 Core - Bug #90215: Getters of class LazyLoadingProxy can't be called by FluidAccepted2020-01-27

Actions
Related to TYPO3 Core - Bug #87651: Lazy loading (sometimes) not working in Fluid (only n:1 relations)Closed2019-02-05

Actions
Actions

Also available in: Atom PDF