Я чайник в ПХП, але це повинно бути щось таке:
class Decorator
{
public function __construct($cls)
{
$this->_cls = $cls;
}
public function __call($method, $args)
{
// doSomethingBeforeCall();
$result = call_user_func_array(array($this->_tag, $method), $args);
// doSomethingAfterCall($result);
return $result;
}
}