3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait T { private function a() { return "T/a\n"; } public function callAFromT() { return $this->a(); } } class X { use T; private function a() { return "X/a\n"; } public function callAFromX() { return $this->a(); } } class Y extends X { private function a() { return "Y/a\n"; } public function callAFromY() { return $this->a(); } } $y = new Y; echo $y->callAFromY(); // outputs "Y/a" echo $y->callAFromX(); // outputs "X/a" echo $y->callAFromT(); // expected: "T/a"; outputs "X/a";
Output for git.master, git.master_jit, rfc.property-hooks
Y/a X/a X/a

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:
107.58 ms | 405 KiB | 5 Q