3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait CalculatesArea { private $pi = 3.1416; private function rectangularArea(): float { return $this->a * $this->b; } private function ellipticArea(): float { return $this->a * $this->b * $this->pi; } } abstract class Shape { use CalculatesArea; public function __construct(protected float $a, protected float $b) {} public function area(): ?float { if ($this instanceof Rectangle) { return $this->rectangularArea(); } if ($this instanceof Ellipse) { return $this->ellipticArea(); } return null; } } class Rectangle extends Shape {} class Ellipse extends Shape {} var_dump( (new Rectangle(3, 4))->area(), (new Ellipse(1.3, 3.8))->area(), );
Output for git.master, git.master_jit, rfc.property-hooks
float(12) float(15.519503999999998)

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