3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $foo = 42; public function __get($name) { echo "__get($name)\n"; return $this->bar($name); } public function bar($name) { echo "bar($name)\n"; return $this->foo; } } $foo = new Foo; echo "Calling via accessor:\n"; var_dump($foo->foo); echo "Calling method directly:\n"; var_dump($foo->bar('foo'));
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Calling via accessor: __get(foo) bar(foo) int(42) Calling method directly: bar(foo) int(42)

preferences:
56.11 ms | 406 KiB | 5 Q