3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MyClass { private $privateProperty; public function setPrivateProperty($prop) { $this->privateProperty = $prop; return $this; } public function evaluate(MyClass1 $object) { // this works, because visibility is checked on class name, not on concrete instance! var_dump($object->privateProperty); } } class MyClass1 { private $privateProperty; public function setPrivateProperty($prop) { $this->privateProperty = $prop; return $this; } } $obj1 = (new MyClass)->setPrivateProperty('foo'); $obj2 = (new MyClass1)->setPrivateProperty('bar'); $obj1->evaluate($obj2);

preferences:
41.77 ms | 402 KiB | 5 Q