Go! is a PHP 5.4 library that allows developers to add support for aspect-oriented programming (AOP) to their PHP applications. It doesn't require PECL extensions, Runkit, evals, or DI containers. The code with weaved aspects is fully readable and native, and can be easily debugged with XDebug. You can debug either classes or aspects. It can potentially be installed in every PHP application because you don't have to change the application source code at all. As an example, with the help of 10-20 lines of code it is possible to intercept all of the public, protected, and static methods in all classes of an application, and display the name and the arguments of each method during its execution.
|Tags||aop PHP aspect-oriented programming oop|
|Implementation||PHP 5.3 +|
Release Notes: Intercepting methods in traits was added. This release implements pointcut parser/grammar for custom expressions. It has huge pointcuts refactoring and code cleanup. The kernel has been rewritten to use lazy loading for services and pointcuts.
Release Notes: This release adds introduction advice support. It fixes a bug with composer autoloader prepending. It fixes a doctrine/common dependency: >=2.0.0, <2.4.0.
Release Notes: Initial release.