3v4l.org

run code in 300+ PHP versions simultaneously
<?php class TestingInjectingToProtected { protected $value; public function getValue() { return $value; } } $object = new TestingInjectingToProtected(); $reflection = new ReflectionObject($object); $property = $reflection->getProperty('value'); $property->setAccessible(true); $property->setValue('foo'); $property->setAccessible(false); echo $object->getValue(); $injector = Closure::bind(function ($property, $value) { $this->$property = $value; }, $object, $object); $injector('value', 'bar'); echo $object->getValue();
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught ArgumentCountError: ReflectionProperty::setValue() expects exactly 2 arguments, 1 given in /in/d1VlM:18 Stack trace: #0 /in/d1VlM(18): ReflectionProperty->setValue('foo') #1 {main} thrown in /in/d1VlM on line 18
Process exited with code 255.

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.16 ms | 401 KiB | 8 Q