Класс Closure

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

Введение

Класс, используемый для создания анонимных функций.

Анонимные функции выдают объекты этого типа. Класс получил методы, позволяющие контролировать анонимную функцию после её создания.

Кроме методов, описанных здесь, этот класс также имеет метод __invoke. Данный метод необходим только для совместимости с другими классами, в которых реализован магический вызов, так как этот метод не используется при вызове функции.

Обзор классов

final class Closure {
/* Методы */
private __construct()
public static bind(Closure $closure, ?object $newThis, object|string|null $newScope = "static"): ?Closure
public bindTo(?object $newThis, object|string|null $newScope = "static"): ?Closure
public call(object $newThis, mixed ...$args): mixed
public static fromCallable(callable $callback): Closure
}

Содержание

  • Closure::__construct — Конструктор, запрещающий создание экземпляра
  • Closure::bind — Дублирует замыкание с указанием конкретного связанного объекта и области видимости класса
  • Closure::bindTo — Дублирует замыкание с новым связанным объектом и областью видимости класса
  • Closure::call — Связывает и запускает замыкание
  • Closure::fromCallable — Конвертирует callable в замыкание