appserver-io / appserver

A multithreaded application server for PHP, written in PHP.
http://appserver.io/
Open Software License 3.0
967 stars 104 forks source link

[appserver-io/appserver] Include aspects into DI domain #890

Open wick-ed opened 9 years ago

wick-ed commented 9 years ago

Currently one cannot easily inject beans, resources, etc. into aspects so they can be accessed easily. Do so would allow for bean based cross concern logic like a session bean handling authentication which gets accessed using the woven advices.

UAC:

smolinari commented 9 years ago

Being my picky self, I'd have to raise my finger and say the second point isn't written from the user's perspective. Or rather, it isn't a point a user could actually test to accept. I am not sure of the intention completely too, but maybe this would be better?

Business logic MUST not be allowed to be injected through DI in cross cutting concerns.

Which still makes little sense to me. I am not certain how anyone could program to check for business logic. Or, does the user (client dev) have to somehow do something special in appserver, which would indicate a bean or resource deals only with business logic?

Sorry for bumping into your development process, but this is my (probably annoying) way to learn. Asking questions, and more questions, in the worst places at times too. :smile: LOL!

Scott

wick-ed commented 9 years ago

Good morning Scott!

Constructive criticism is always welcome. ;) You are right, I was in a rush for a meeting and did not bother with the proper choice of words. Shame on me. :(

I am sure there is no proper way to technically separate business logic from cross cutting logic without complicating the matter (through a @Business annotation e.g.). Only intent of the sentence was to evaluate first before implementing (hence the label) as I am not sure what we actually should allow for injection. Therefor you are right, this is not written from a users perspective but rather as a note to the implementing programmer.

Regards, Bernhard

smolinari commented 9 years ago

Thanks for the explanation. I understand now, for the most part.

Scott