Bug #266

Proxied classes loose annotation information

Added by Robert Lemke over 11 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Should have
Assignee:
Category:
AOP
Target version:
-
Start date:
2008-02-13
Due date:
% Done:

100%

PHP Version:
Has patch:
Complexity:

Description

Currently the annotations are not copied into the target class when a class is proxied by the AOP framework. One effect is that the component manager doesn't get the "scope" configuration correctly - but as soon as we use more annotations, it will have other side effects as well.

Associated revisions

Revision 03aa50f0 (diff)
Added by Robert Lemke over 11 years ago

Mainly worked on #263 - but solving it had various side effects and (fortunately) exploited a few older bugs we didn't know yet.

  • FLOW3: Fixed whitespaces and inline documentation in some classes I came across
  • FLOW3: (AOP) Changed a RuntimeException to T3_FLOW3_AOP_Exception in the AOP Framework class.
  • FLOW3: (AOP) The T3_FLOW3_AOP_Pointcut component is now also registered as a T3_FLOW3_AOP_PointcutInterface component type. Background: Some Dependency Injection failed because only *Interface was specified in the constructor argument, but such a component didn't exist.
  • FLOW3: (AOP) The Proxy Class Builder now transfers all class annotations from the target class to the proxy class. Fixes #266.
  • FLOW3: (Component) Added a new feature to the Component Configuration: If an empty array is passed to setConstructorArguments(), all existing arguments are removed.
  • FLOW3: (Component) Added a third parameter ($overridingConstructorArguments) to the create method of the Object Builder. This is mainly used by the component manager and fixes #263.

History

#1 Updated by Robert Lemke over 11 years ago

  • Target version changed from 1 to 18

#2 Updated by Robert Lemke almost 11 years ago

  • Target version deleted (18)

Also available in: Atom PDF