3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Visibility { public function __construct( public int $public, protected int $protected, private int $private, ) {} } $v = new Visibility(1, 2, 3); $reader = (fn (string $prop) => $this->$prop); $propReader = $reader->bindTo($v); var_dump($propReader('public')); var_dump($propReader('protected')); var_dump($propReader('private'));

preferences:
50.04 ms | 402 KiB | 5 Q