开发者

php class extend - run something before running parent function

开发者 https://www.devze.com 2022-12-26 04:58 出处:网络
say I have this class: class animal { function noise() { print \'woof\'; } function move() { print \'moved\';

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

精彩评论

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