PHP: Оберните все функции класса в подкласс

Работая с классом библиотеки PHP, и я бы хотел обернуть все его общедоступные функции в подкласс ... Что-то вроде:

class BaseClass
{
   function do_something()
   {
        some;
        stuff;
   }

   function do_something_else()
   {
        other;
        stuff;
   }

   /*
    * 20-or-so other functions here!
    */
}

class SubClass extends BaseClass
{
   function magicalOverrideEveryone()
   {
        stuff-to-do-before;        // i.e. Display header
        call_original_function();  // i.e. Display otherwise-undecorated content
        stuff-to-do-after;         // i.e. Display footer
   }
}

Сводя это вниз, я бы предпочел не придется переопределить каждый метод суперкласса одним и тем же кодом оболочки, если есть [несколько элегантный / чистый] способ сделать все это в одном месте.

Возможно ли это? Я подозреваю, что здесь я нахожусь в стране метапрограммирования, и даже не знаю, предлагает ли PHP такого зверя, но решил, что спрошу ...

10
задан lisachenko 24 November 2012 в 19:38
поделиться