A classe Closure

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

Introdução

Classe usada para representar funções anônimas.

Funções anônimas, produzem objetos desse tipo. Esta classe possui métodos que permitem ainda mais controle de funções anônimas após sua criação.

Além dos métodos listados aqui, a classe também possui o método __invoke. Para consistência com outras classes que implementam o invoque mágico, já que esse método não é utilizado para chamar a função.

Resumo da classe

final class Closure {
/* Métodos */
private function __construct()
public static function bind(Closure $closure, ?object $newThis, object|string|null $newScope = "static"): ?Closure
public function bindTo(?object $newThis, object|string|null $newScope = "static"): ?Closure
public function call(object $newThis, mixed ...$args): mixed
public static function fromCallable(callable $callback): Closure
public static function getCurrent(): Closure
}

Registro de Alterações

Versão Descrição
8.4.0 O resultado de Closure::__debugInfo() agora inclui o nome, a linha e o arquivo do closure.

Notas

Nota: Objetos Closure não podem ser serializados porque podem conter variáveis vinculadas e um contexto de execução específico. A tentativa de serializar lançará uma Exception.

Índice