как заставить определенный метод вызываться во (всех|некоторых) методах класса?

Духовность™

Продвинутый новичок
как заставить определенный метод вызываться во (всех|некоторых) методах класса?

Сабж.

Надо что бы вызывая определнные методы вызывался сначала другой метод. :cool:
 

Stepank

Новичок
Так не подойдет? Поперчить, посолить, обработать напильником по вкусу
PHP:
class a {
    function prerun() {
        echo "prerun<br/>\n";
    }
    function _test($a) {
        echo "test $a<br/>\n";
    }
    function __call($name, $pars) {
        $method = "_$name";
        if (method_exists($this, $method)) {
            $this->prerun();
            $this->$method($pars[0]);
        }
    }
}

$a = new a();
$a->test(123);
 

Gas

может по одной?
Stepank
а если у меня уже есть метод test и я хочу не меняя его имени и кода вызова проделать такой трюк, вот чтоб такой пример как у тебя, только метод не _test, а именно test
 

whirlwind

TDD infected, paranoid
если у меня уже есть метод test и я хочу не меняя его имени и кода вызова проделать такой трюк, вот чтоб такой пример как у тебя, только метод не _test, а именно test
decorator pattern
 

Gas

может по одной?
whirlwind
это не magick, хотелось чтоб вообще ничего не делая :)
 
Сверху