是否可以替换PHP类中的函数?

use*_*671 5 php wordpress class function

这实际上来自一个特定的WordPress问题,但它背后有一个更普遍的PHP点,我有兴趣知道答案.

WordPress类是这样的:

class Tribe_Image_Widget extends WP_Widget {
    function example_function(){
        // do something useful
    }
}
Run Code Online (Sandbox Code Playgroud)

PHP中有什么办法可以example_function()从课外替换吗?

我想要这样做的原因是该类来自其他人的WP插件(并且在该类中有几个函数),我想继续接收插件的更新,但我希望其中一个功能适应.如果我更改插件,那么每次我都会丢失所有更改.所以如果我有自己的插件只是改变了一个功能,我就避免了这个问题.

Mic*_*ski 9

听起来你想要做的就是extend类,并覆盖那个特定的功能.

Class Your_Tribe_Image_Widget extends Tribe_Image_Widget
{
   function example_function() {
     // Call the base class functionality
     // If necessary...
     parent::example_function();

     // Do something else useful
   }
}
Run Code Online (Sandbox Code Playgroud)