3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A {} class B {} class C { public function __construct( protected readonly A|B $b ) { if ($this->b instanceof A) { trigger_error('A is deprecated, pass B instead', E_USER_DEPRECATED); $this->b = new B(); } var_dump($this->b); } } new C(new A()); new C(new B());
Output for git.master_jit, git.master
Deprecated: A is deprecated, pass B instead in /in/X6PNN on line 11 Fatal error: Uncaught Error: Cannot modify readonly property C::$b in /in/X6PNN:12 Stack trace: #0 /in/X6PNN(18): C->__construct(Object(A)) #1 {main} thrown in /in/X6PNN on line 12
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:
33.35 ms | 405 KiB | 5 Q