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 git.master, git.master_jit, rfc.property-hooks
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" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
55.36 ms | 402 KiB | 8 Q