[Flow] Proxyclass Building is useless imho in 90%

Carsten Bleicker carsten at bleicker.de
Fri Nov 7 14:25:36 CET 2014


In 90% of all classes proxy class building is not required.
AFAIK its out of the box used f.e. in Entities to inject a flow persistence identifier.
But couldnt this be done by simply shipping a trait for this? wich contains the property?

Also its used for AOP.
AOP is imho this concept is used for user case scenarios.
So isnt it enough to enable proxy class building by usecase (if you need it)
and by default proxy class building is totaly disabled?

As i mentioned in jira, injection should work also without proxyclassbuilding.
So f.e. @Flow\Inject could work on original classes, not only on proxy classes.
https://jira.typo3.org/browse/FLOW-59

@Flow\Signal needs a proxy. But it makes no sense to build Proxy Classes that does
not contain any kind of Signal. In fact it happens right now.
Imho @Flow\Signal could be skipped if the you provide a SignalFactory::fireSignal($interfaceFqnClassName);
the interface needs in this case a priority like converters have to build up a stack out of all implementations
by the SignalFactory

So anytime you need/use AOP or Signals and we switch from the "excludeClasses" to "includeClasses"
you have to do this for your entities f.e.:

TYPO3:
 Flow:
   object:
     includeClasses:
       'foo.bar': ['Foo\\Bar\\Domain\\Model\\.*']

If proxy is "must be switched on" it results in:
1.) the proxyclass building time should be reduced a lot.
2.) you can use xdebug breakpoints
3.) you know what a class realy does without looking for maybe existing
4.) you dont run into exceptions if flow tries to build proxy for Foo extends \ArrayObject{}


----------------------

Carsten Bleicker
Wülfingstraße 1
42477 Radevormwald

E-Mail:	carsten at bleicker.de
Web:	www.bleicker.de
Twitter:	@carstenbleicker
Jabber:	cbleicker at jabber.ccc.de
Telefon:	+49 (0)171-2690845



More information about the Flow mailing list