- var_dump: documentation ( source)
<?php
class Foo {}
class Bar
{
private $foos;
public function __construct(callable ...$foos)
{
$this->foos = $foos;
}
public function getFoo($id) : Foo
{
return $this->foos[$id]();
}
}
class Baz
{
public function run($id) : Foo
{
return (new Bar(
function(){ return new Foo; },
function(){ return new Foo; },
function(){ return new Foo; },
function(){ return new Foo; }
))->getFoo($id);
}
}
var_dump((new Baz)->run(2));