3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace TestExample; class Obj1 { public function doObj1() {} } class Obj2 { public function doObj2Something() { throw new \RuntimeException('hi'); } public function doObj2SomethingElse() {} } class MainObj { private $obj1, $obj2; public function __construct(Obj1 $obj1, Obj2 $obj2) { $this->obj1 = $obj1; $this->obj2 = $obj2; } public function process() { $this->obj1->doObj1(); try { $this->obj2->doObj2Something(); } catch (\RuntimeException $e) { throw $e; } finally { $this->obj2->doObj2SomethingElse(); } } } try { $processor = new MainObj(new Obj1, new Obj2); $processor->process(); } catch (\RuntimeException $e) { var_dump($e->getMessage()); }
Output for git.master, git.master_jit, rfc.property-hooks
string(2) "hi"

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:
58.28 ms | 401 KiB | 8 Q