# The Generator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

## Introduction

Generator objects are returned from generators.

Caution

Generator objects cannot be instantiated via new.

## Class synopsis

final class Generator implements Iterator {
/* Methods */
public current(): mixed
public getReturn(): mixed
public key(): mixed
public next(): void
public rewind(): void
public send(mixed `$value`): mixed
public throw(Throwable `$exception`): mixed
public valid(): bool
public __wakeup(): void
}

## See Also

See also object iteration.

## Table of Contents

- Generator::current — Get the yielded value
- Generator::getReturn — Get the return value of a generator
- Generator::key — Get the yielded key
- Generator::next — Resume execution of the generator
- Generator::rewind — Execute the generator up to and including the first yield
- Generator::send — Send a value to the generator
- Generator::throw — Throw an exception into the generator
- Generator::valid — Check if the iterator has been closed
- Generator::__wakeup — Serialize callback

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open