Bug #266
Proxied classes loose annotation information
Status: | Resolved | Start date: | 2008-02-13 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | Robert Lemke | % Done: | 100% |
|
Category: | AOP | |||
Target version: | - | |||
PHP Version: | Complexity: | |||
Has patch: | Affected Flow version: |
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
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 7 years ago
- Target version changed from 1 to 18
#2 Updated by Robert Lemke about 7 years ago
- Target version deleted (
18)