3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Chain { private $values = []; public function __construct($x) { $this->values[] = $x; } public function __invoke($x) { if ($x instanceof Closure) { return array_reduce($this->values, $x); } $this->values[] = $x; return $this; } } var_dump((new Chain(1))(2)(3)(function ($x, $y) { return $x + $y; }));

preferences:
48.1 ms | 402 KiB | 5 Q