3v4l.org

run code in 300+ PHP versions simultaneously
<?php $config = ['legendaryName' => 'legendary_name']; $data = ['legendary_name' => 'The Hammer']; class Warrior { use DbHydrate; private $legendaryName; } trait DbHydrate { public function hydrate($config, $data) { foreach($config as $attributeName => $column){ $attribute = $this->{$attributeName}; var_dump($attribute); $this->{$attributeName} = $data[$column]; } } } $legendaryWarrior = new Warrior; $legendaryWarrior->hydrate($config, $data); var_dump($legendaryWarrior); $config = ['classicalName' => 'classical_name']; $data = ['classical_name' => 'John']; $testWarrior = new Warrior; $testWarrior->hydrate($config, $data); var_dump($testWarrior);
Output for 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
NULL object(Warrior)#1 (1) { ["legendaryName":"Warrior":private]=> string(10) "The Hammer" } Warning: Undefined property: Warrior::$classicalName in /in/ESvKA on line 17 NULL Deprecated: Creation of dynamic property Warrior::$classicalName is deprecated in /in/ESvKA on line 19 object(Warrior)#2 (2) { ["legendaryName":"Warrior":private]=> NULL ["classicalName"]=> string(4) "John" }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27
NULL object(Warrior)#1 (1) { ["legendaryName":"Warrior":private]=> string(10) "The Hammer" } Warning: Undefined property: Warrior::$classicalName in /in/ESvKA on line 17 NULL object(Warrior)#2 (2) { ["legendaryName":"Warrior":private]=> NULL ["classicalName"]=> string(4) "John" }
Output for 5.6.38, 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
NULL object(Warrior)#1 (1) { ["legendaryName":"Warrior":private]=> string(10) "The Hammer" } Notice: Undefined property: Warrior::$classicalName in /in/ESvKA on line 17 NULL object(Warrior)#2 (2) { ["legendaryName":"Warrior":private]=> NULL ["classicalName"]=> string(4) "John" }
Output for 7.3.32 - 7.3.33
NULL object(Warrior)#1 (1) { ["legendaryName":"Warrior":private]=> string(10) "The Hammer" } NULL object(Warrior)#2 (2) { ["legendaryName":"Warrior":private]=> NULL ["classicalName"]=> string(4) "John" }

preferences:
142.85 ms | 401 KiB | 178 Q