- var_dump: documentation ( source)
<?php
class Foo {}
class Foos implements IteratorAggregate {
private function __construct(private readonly Closure $foos) {}
public static function fromVariadic(Foo ...$foos): self {
return new self(fn() => yield from $foos);
}
public static function fromGenerator(callable $generator): self {
return new self($generator);
}
public function getIterator(): \Traversable {
return ($this->foos)();
}
}
//$foos = Foos::fromVariadic(new Foo, new Foo);
$foos = Foos::fromGenerator(function() {
yield new Foo;
yield new Foo;
});
foreach ($foos as $foo) {
var_dump($foo);
}