vendredi 9 janvier 2015

Automatically decorate every method in a class

I would like to add some logic before and after every time I'm using a method (doesn't really matter if is private, protected or public) in a class.


For example:



class Service
{
function test1() {
Log:start(__METHOD__);
someLogicInThere(); ....
Log:end(__METHOD__);
}

function test2() {
Log:start(__METHOD__);
someLogicInThere(); ....
Log:end(__METHOD__);
}
...
}


My idea is to finally have something like this:



/**
* @LogDecorate
*/
class Service
{
function test1() {
someLogicInThere();
}

function test2() {
someLogicInThere();
}
...
}


Use annotations is not important. There is any way to do that?


Aucun commentaire:

Enregistrer un commentaire