6

我在 WordPress 中有 3 个类(问题本身与它无关):

class WP_Widget

class Theme_Widget extends WP_Widget

class Specific_Widget extends Theme_Widget

本质上 Theme_Widget 包含一些基本 WP_Widget 的扩展功能。

在 Specific_Widget 我调用 Theme_Widget 的方法之一:

class Specific_Widget {

    function __construct() {
         $this->some_method_that_belongs_to_Theme_Widget();
    }
}

当我实例化 Specific_Widget 时,PHP 会抛出一个致命错误,如下所示:

Fatal error: Call to private method Theme_Widget::some_method_that_belongs_to_Theme_Widget() from context 'Specific_Widget' in ...

你知道我该如何解决这个问题吗?这是我第一次从 PHP 收到此错误。它可能来自WordPress本身吗?

4

2 回答 2

7

如果您希望子类能够使用它,则必须声明您的方法protected,而不是声明。private

于 2010-06-09T15:02:48.710 回答
0

protected function如果您想从扩展类访问子函数而不在 URL 中传递受保护的函数,请使用

例如

protected function somemethod() { // your code goes here }
于 2021-05-23T01:33:56.133 回答