PHP: الفصل يمتد المشكلة "استدعاء إلى الطريقة الخاصة ... من السياق ..."

StackOverflow https://stackoverflow.com/questions/3007020

  •  26-09-2019
  •  | 
  •  

سؤال

لدي 3 فصول في WordPress (السؤال نفسه لا علاقة له به):

class WP_Widget

class Theme_Widget extends WP_Widget

class Specific_Widget extends Theme_Widget

يحتوي Threat_Widget بشكل أساسي على بعض وظائف التمديد إلى WP_WIDGET الأساسية.

Inside anner_widget أسمي أحد أساليب السمة _widget:

class Specific_Widget {

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

عندما أقوم بتثبيت chelpty_widget ، يلقي PHP خطأ فادحًا على النحو التالي:

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

هل لديك فكرة عن كيفية حل هذا؟ هذه هي المرة الأولى التي تلقيت فيها هذا الخطأ من PHP. هل يمكن أن تكون مستمدة من WordPress نفسها؟

هل كانت مفيدة؟

المحلول

يجب أن تعلن عن طريقتك protected, ، عوضا عن private, ، إذا كنت ترغب في أن تكون فصول الأطفال قادرة على استخدامها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top