View on GitHub

FEAST Framework

Fast, Easy, Agile, Slim, Tested and Trans Fat Free

Back to Index

Deferring Actions

FEAST contains both a simple, callback based way and a more configurable extendable class to take deferred actions at the end of current scope (post function return if inside function, at end of script if in global scope) by making use of destructors.

Deferred Callback

The DeferredCall class that allows you to call any "callable". The DeferredCall class constructor takes a callable as the only parameter. You may cancel the Deferred handler by calling the cancel method of the object returned.

The following code examples (greatly simplified) show usage.

protected function deferredCall(): void
{
    $deferred = new \Feast\DeferredCall(function() { echo 'This is second'; });
    echo 'This is first.';
}

The above code would echo This is first. This is second.

protected function deferredCallCancelled(): void
{
    $deferred = new \Feast\DeferredCall(function() { echo ' This is second'; });
    echo 'This is first.';
    $deferred->cancelDeferral();

The above code would only echo This is first.

Deferred Abstract class

The Deferred abstract class must be extended. This class has a required method deferredAction that must be implemented in the child. There are no mandatory constructor arguments for this class and can be used for more dynamic use cases.

 

Powered by FEAST Framework
See this project at https://github.com/feastframework/documentation