3v4l.org

run code in 300+ PHP versions simultaneously
<?php class FakeStringIntTuple { private $data = []; public function returnsCallable() { return $this; } public function __invoke(string $a, int $b) { $this->data[] = [$a, $b]; return $this; } } (new FakeStringIntTuple())('foo', 123); $a = new FakeStringIntTuple(); $a->returnsCallable()('bar', 456); $tuple = (new FakeStringIntTuple()) ('foo', 123) ('bar', 456) ('baz', 789); var_dump($tuple);

preferences:
70.36 ms | 402 KiB | 5 Q