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 のメソッドの 1 つを呼び出します。

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 に答える