Fast Forward Deferred Callbacks utility classes

functions.php

This file is part of fast-forward/defer.

This source file is subject to the license bundled with this source code in the file LICENSE.

Tags
copyright

Copyright (c) 2026 Felipe Sayão Lobato Abreu github@mentordosnerds.com

license

https://opensource.org/licenses/MIT MIT License

see
https://github.com/php-fast-forward/defer
see
https://github.com/php-fast-forward
see
https://datatracker.ietf.org/doc/html/rfc2119

Table of Contents

Functions

defer()  : DeferInterface
Creates a new Defer instance, optionally registering a callback immediately.
using()  : mixed
Executes a callback within a controlled scope, ensuring resources are released at the end.
scope()  : mixed
Executes a callback within a deferred scope, ensuring all registered callbacks are executed at the end.

Functions

defer()

Creates a new Defer instance, optionally registering a callback immediately.

defer([callable|null $callback = null ], mixed ...$arguments) : DeferInterface

This function MUST return a DeferInterface implementation. If a callback is provided, it SHALL be registered.

Parameters
$callback : callable|null = null

the callback to register (optional)

$arguments : mixed

Arguments for the callback.

Return values
DeferInterface

the Defer instance

using()

Executes a callback within a controlled scope, ensuring resources are released at the end.

using(callable $factory, callable $callback) : mixed

This function MUST create a Defer instance, pass it to the factory, and execute the callback. The Defer instance SHALL be unset after execution.

Parameters
$factory : callable

a function that receives the Defer and returns the resource

$callback : callable

a function that receives the resource and executes the desired logic

Return values
mixed

the return value of the callback

scope()

Executes a callback within a deferred scope, ensuring all registered callbacks are executed at the end.

scope(callable $callback) : mixed

This function MUST create a Defer instance, pass it to the callback, and unset it after execution.

Parameters
$callback : callable

a function that receives the Defer and executes the desired logic

Return values
mixed

the return value of the callback


        
On this page

Search results