Search code examples
phppythonfunctiondecoratorwrapper

PHP equivalent for a python decorator?


I want to be able to wrap a PHP function by another function, but leaving its original name/parameter list intact.

For instance:

function A() {
    print "inside A()\n";
}

function Wrap_A() {
    print "Calling A()\n";
    A();
    print "Finished calling A()\n";
}

// <--- Do some magic here (effectively "A = Wrap_A")

A();

Output:

Calling A()
inside A()
Finished calling A()

Solution

  • Apparently runkit might help you.

    Also, you can always do this the OO way. Put the original fun in a class, and the decorator into an extended class. Instantiate and go.