<?php
function sum($a)
{
return new class($a) {
protected $value;
public function __construct($value)
{
$this->value = $value;
}
public function __invoke($a)
{
return new static($this->value + $a);
}
public function __toString()
{
return (string) $this->value;
}
};
}
echo sum(1)(2)(3)(4)(5); //15