This package can be used to implement Aspect Oriented Programming (AOP) by executing the code of classes that enable orthogonal aspects at run-time.
The intention is to provide a means implement orthogonal aspects in separate classes that may be interesting add to the application, like logging, caching, transaction control, etc., without affecting the main business logic.
The package provides base classes for implementing defining point cuts where the code of advice class is called to implement actions of the orthogonal aspects that an application may need to enable.
Aspect Oriented Programming (AOP) is a methodology meant to implement new aspects in software component using external components, but without altering the code that implements the core functionality.
The AOP concept was created originally by Java developers. They developed a compiler that implements the AOP white box approach, i.e. the compiler the merges the code that implements the software components core functionality with the necessary code alterations to implement the new aspects where necessary.
This package implements a framework that provides a PHP solution that does not rely on a pre-compilation stage. Therefore it can be used right away without the eventual complication of the compiler based AOP implementations.