Esempio n. 1
0
{
    echo __FUNCTION__ . ' has been executed' . PHP_EOL;
    echo '------------------------------------------' . PHP_EOL;
}
function fooAfter()
{
    echo '------------------------------------------' . PHP_EOL;
    echo __FUNCTION__ . ' has been executed' . PHP_EOL;
}
$model = new Model();
//Bind function
microAOP\Proxy::__bind_func__($model, 'foo', 'before', 'fooBefore');
microAOP\Proxy::__bind_func__($model, 'foo', 'after', 'fooAfter');
$model->foo();
//取消绑定Model::foo中before位置的函数
microAOP\Proxy::__unbind_func__($model, 'foo', 'before');
echo '==========================================' . PHP_EOL;
$model->foo();
/*  output:

fooBefore has been executed
------------------------------------------
Model::foo has been executed
------------------------------------------
fooAfter has been executed
==========================================
Model::foo has been executed
------------------------------------------
fooAfter has been executed

*/