Helper Functions
defer()
Creates a new Defer instance and returns it.
use function FastForward\Defer\defer;
$defer = defer();
$defer(fn() => print "cleanup via helper\n");
scope()
Runs a block with an isolated defer scope.
use function FastForward\Defer\scope;
scope(function ($defer) {
$defer(fn() => print "Cleanup\n");
echo "Inside\n";
});
using()
Structured resource management (acquire → use → cleanup):
use function FastForward\Defer\using;
using(
function ($defer) {
$file = fopen('file.txt', 'w+');
$defer(fn() => fclose($file));
return $file;
},
function ($file) {
fwrite($file, "Hello");
}
);
Design Principles
- Deterministic cleanup
- Minimal API
- No manual flush
- Failure isolation
- Extensible reporting
Notes
- Execution is triggered by
__destruct()