PHP: الفصل يمتد المشكلة "استدعاء إلى الطريقة الخاصة ... من السياق ..."
سؤال
لدي 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
, ، إذا كنت ترغب في أن تكون فصول الأطفال قادرة على استخدامها.
لا تنتمي إلى StackOverflow