Я парадокс со следующим фрагментом кода, и я не уверен, как его назвать.
Я определил очень простой класс, который пока не имеет переменной. Теперь в конструкторе я принимаю массив ключей и значений и назначая переменные «на лету», как это, используя цикл foreach:
class Food{ function Food($construct){ foreach($construct as $key=>$value){ $this->$key = $value; } } }
Если бы я теперь создал экземпляр с таким входом:
$food = new Food(array('name' => 'chicken' , 'unit' => 'kg' , 'calorie' => 10000));
Я бы получил:
var_dump($food); object(Food)[1] public 'name' => string 'chicken' (length=7) public 'unit' => string 'kg' (length=2) public 'calorie' => int 10000
Как это вообще возможно?