Bug #27045

Introduced properties are not available in the reflection service during a compile run

Added by Andreas Förthner about 4 years ago. Updated over 1 year ago.

Status:New Start date:2011-05-26
Priority:Should have Due date:
Assigned To:- % Done:

0%

Category:AOP
Target version:-
PHP Version: Complexity:
Has patch: Affected Flow version:FLOW3 1.0.0

Description

The AOP proxy builder must register each introduced property, that the other proxy builders can use the reflection service to ask for them...


Related issues

related to TYPO3.Flow - Bug #51188: Doctrine does not respect AOP-injected properties New 2013-08-19
related to TYPO3.Flow - Bug #39413: AOP: Property introduction seems to be broken Resolved 2012-07-31
related to TYPO3.Flow - Feature #37373: Make annotation overrides / "injection" via Objects.yaml ... Under Review 2012-05-21

History

#1 Updated by Sebastian Kurfuerst almost 5 years ago

  • Target version set to 1230

#2 Updated by Christopher Hlubek almost 4 years ago

I think this is not only during the compile run, but also after the compilation. An introduced property will not be returned by the ReflectionService (e.g. getPropertyNamesByTag).

#3 Updated by Karsten Dambekalns almost 4 years ago

  • Target version deleted (1230)

#4 Updated by Karsten Dambekalns almost 4 years ago

  • Affected Flow version set to FLOW3 1.0.0

#5 Updated by Alexander Berl over 2 years ago

One could classSchema->addProperty in ProxyClassBuilder->buildProxyClass for every introduced property. However, the type information isn't available at that point unless the docblock is parsed there also.

Wouldn't it be possible to do a whole reflectionData update for all classes with introduced properties at last? The problem I see is that the class is already loaded with the unproxied status, so just calling the reflection won't help. So the reflection would have to be called in it's own command/process AFTER the proxy is built.

Also available in: Atom PDF