AOP for PHP
Implements a simplified subset of AOP (Aspect Oriented Programming) pragmatism and provides the AOP features for PHP application., (*1)
Only one dependency, the code interceptor., (*2)
The PHP lib of AOP.io provides an abstraction layer easy to use for AOP development, so it can work with several PHP code interceptors., (*3)
The first interceptor implemented uses PECL AOP-PHP extension., (*4)
Other interceptors are planned.
If you want to create an interceptor, see the skeleton., (*5)
Getting Started
Install
1) Install an interceptor, e.g: PECL AOP-PHP extension., (*6)
2) Download PHP AOP.io lib (and configure your autoloader) or use composer require: "aop-io/php-aop"
., (*7)
Usage
use Aop\Aop;
// Init
new Aop();
function hello($name)
{
return $name
}
// Interception of kind 'around'
Aop::addAround('hello()', function($joinPoint) {
// In this context,
// $joinPoint is an instance of \Aop\JoinPoint\AroundFunctionJoinPoint
// get an array with all arguments values
var_dump($joinPoint->getArgs()); // (array) 0 => World !
// change the return value
$joinPoint->setReturnValue('Hello Nico !');
// Proceed the execution of the function ( hello() )
$joinPoint->proceed();
});
echo hello('World !'); // Hello Nico !
License
MIT (c) 2013, Nicolas Tallefourtane., (*8)
Author