class A{
public $user;
function __set($n,$v){
$this->user[$n] = $v;
}
function __get($n){
return $this->user[$n];
}
}
$o = new A();
$o->name = "John";
echo $o->name;
Когда интепретатор PHP увидел в коде что мы обращаемся к неизвестному свойству, он обратился в класс, с надеждой найти функцию __set()
Эта функция имеет 2 параметра: 01)Название свойства; 02)Значение свойства.
В этом месте кода, как переменная
$user, которая была объявлена как приватное свойство в классе, как она могла превратится в массив если она была объявлена как обычное закрытое свойство?
function __set($n,$v){
$this->user[$n] = $v;
}
В этом месте кода, если функция
__get() вызывается только в том случаи когда была вызвана функция
__set() и в функцию
__get()
передаётся значение свойства, то значение, которое попало в
__set(). Как снова туда может лететь массив ,если функция ГЭТ принимает только свойство класса?
function __get($n){
return $this->user[$n];
}