扩展现有的类方法

时间:2015-04-20 17:10:44

标签: php wordpress plugins

我可以以某种方式从插件扩展现有的类方法吗?或者我可以在每次调用方法时监视输出吗?

class greatPlugin{
...
  public function someProcess($vars){

    /* The magic */
    return $stringFromProcess;
  }
...
}
在加载主题之前,在WordPress中通过钩子调用

greatPlugin,但我需要访问(最好)someProcess方法生成的输出数组。例如

$greatSubOutput = array('string1', 'string2');

或仅$greatSubOutput = null;如果没有调用方法。

greatPlugin类过于复杂,无法重建原始开发人员所做的出色工作。如果我只能为该函数添加一些log2array功能......

1 个答案:

答案 0 :(得分:0)

您始终可以扩展整个类,然后像这样扩展方法:

class loggingGreatPlugin extends greatPlugin 
{

    public function someProcess($vars) {
        $output = parent::someProcess($vars);

        $logger = new LogMe();
        $logger->log(LogLevel::INFO, $output);

        return $output;
    }
}