Возьмите этот класс:Public переменная не изменяется для функции класса ребенка
class A{
public $test = '';
public function B($param){
$this->test = 'hello';
echo $param;
}
public function C(){
return "C() contains:" . $this->test;
}
}
Если я называю это таким образом, передавая выход C в B:
$obj = new A;
$obj->B($obj->C());
я получаю этот выход:
C() contains:
Я хотел бы, чтобы напечатать ниже, потому что B
уже установлен $test
к привет:
C() contains:hello
Почему настройка общественного $test
переменной объекта в B()
не меняет значения, что вызов функции C()
ребенок получает? Разве они не имеют доступа к одной и той же переменной $obj->test
?
Обратите внимание, что 'C' вызывается * перед *' B', поэтому значение устанавливается в конце. – Rizier123
Как 'C' возвращает значение' B' * перед * 'B' устанавливает значение ...? * Когнитивный диссонанс усиливается * – deceze
Мое плохое, плохое утро. Благодарю. –