Класс Closure

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

Введение

Класс представляет анонимные функции.

PHP представляет анонимные функции как объекты с типом Closure. Класс содержит методы, которые разрешают управлять экземпляром анонимной функции.

Кроме методов, которые перечисляет эта страница, класс также поддерживает магический метод __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
}

Список изменений

Версия Описание
8.4.0 Вывод метода Closure::__debugInfo() теперь включает свойства объекта замыкания "name", "line" и "file".

Содержание

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