Я немного запутался в том, возможно ли это. Я проверил пару сообщений здесь, и они действительно не объясняют, что я ищу.Наследование класса Sibling PHP
У меня есть 3 класса. Один основной класс и два класса расширяют этот основной класс. (см. код ниже). Можно ли запустить метод в одном из двух расширенных классов из его родного (другого расширенного класса)?
Если это невозможно, как я могу изменить свой код, чтобы выполнить то, что я делаю в примере ниже?
ДЕКЛАРАЦИЯ
class A {
public function __construct() {
//do stuff
}
}
class B extends A {
private $classb = array();
public function __construct() {
parent::__construct();
//do stuff
}
public function get($i) {
return $this->classb[$i];
}
public function set($i, $v) {
$this->classb[$i] = $v;
}
}
class C extends A {
public function __construct() {
parent::__construct();
//do stuff
}
public function display_stuff($i) {
echo $this->get($i); //doesn't work
echo parent::get($i); //doesn't work
}
}
ПРИМЕНЕНИЕ
$b = new B();
$c = new C();
$b->set('stuff', 'somestufftodisplay');
$c->display_stuff('stuff'); // <----- Displays nothing.
извините, что делает yo umean по моему коду не соответствует. Я не понимаю. –
display_stuff() в классе C пытается запустить метод get get. Как это не соответствует моему вопросу? –
@BestProgrammer Да, это моя первая точка. Но вы также пытаетесь получить доступ к свойству, которое вы установили для объекта '$ b', из объекта' $ c'. Обратите внимание, что даже если все было в классе 'A', оно все равно не будет работать, поскольку значение свойства в объекте' $ b' недоступно для объекта '$ c', даже если у них есть тот же самый класс , – jeroen