开发者

php class extend - run something before running parent function

say I have this class:

class animal {
   function noise() {
       print 'woof';
   }
   function move() {
       print 'moved';
   }
}

class dog extends animal {

}

What I would like to do is when i run $dog->noise() or $dog->move(), it would run something first prior to calling animal class's noise/move. Is this doable? Like maybe logging the function call. If not with class extend, what 开发者_开发知识库else can I use to achieve this?

Thank you!


class dog extends animal
{
    function noise()
    {
        /* do stuff here */

        parent::noise();
    }
}


Yes - use the parent keyword:

http://php.net/manual/en/keyword.parent.php

class dog extends animal {

    function move() {
        print 'a dog...';
        parent::move();
    }

}

Calling the move() method on a dog will now result in printing "a dog..." and then "moved".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜