Подскажите пожалуйста новичку по основам php.
Какие могут быть отличия при экспорте и возврате корутины?
class Exported implements \IteratorAggregate
{
public function test(): \Traversable
{
yield 'a' => 23;
yield 'b' => 42;
}
public function getIterator(): \Traversable
{
yield from $this->test();
}
}
class Returned implements \IteratorAggregate
{
public function test(): \Traversable
{
yield 'a' => 23;
yield 'b' => 42;
}
public function getIterator(): \Traversable
{
return $this->test();
}
}
Вроде и там и там тот же самый объект, хотя казалось бы, что в случае ретурна должен быть выполнен rewind() генератора... Но кажется нет. Может есть какие-то отличия?