<?php
function sum($a)
{
return new Sum($a);
}
class Sum
{
protected $value;
public function __construct($value)
{
$this->value = $value;
}
public function __invoke($a)
{
return new static($this->value + $a);
}
public function __toString()
{
return $this->value;
}
}
echo sum(1)(2)(3)(4)(5); //10
Fatal error: Uncaught Error: Method Sum::__toString() must return a string value in /in/VBDS1:28
Stack trace:
#0 {main}
thrown in /in/VBDS1 on line 28
Process exited with code 255.