Я создал расширенный класс, чтобы изменить защищенную переменную для определенной цели. Однако я не понимаю, как я могу изменить защищенную переменную родительского класса из дочернего класса и использовать ее везде в родительских функциях.
Например:
class parent {
protected $data;
public function __construct() {
add_action('wp_ajax_output', array(&$this, 'output'));
}
public function output() {
get_data();
show();
}
public function get_data() {
$this->$data = 'data_1';
}
public function show() {
// here I'm using the protected var (I would like to use it from child)
echo $this->data;
}
}
new parent();
class child extends parent {
public function __construct() {
parent::__construct();
add_action('wp_ajax_child_output', array(&$this, 'child_output'));
}
public function child_output() {
$this->data = 'data_2';
// I would like to use $this->data in parent::show();
parent::show();
}
}
new child();
Как я могу переопределить использование всех защищенных переменных в родительском?