originphp/defer

OriginPHP Defer - PHP implementation of the Go language defer statement

3.0.0 2021-04-13 11:38 UTC

This package is auto-updated.

Last update: 2024-04-13 18:38:31 UTC


README

license build coverage

Defer the execution of a function until the surrounding function completes based upon the Go language defer function. Calls are executed in Last In First Out. Defer is usually used for cleanup operations such as closing or unlocking files, even if there is an error.

Installation

To install this package

$ composer require originphp/defer

Usage

As of version 3.0 the defer function has been moved to its own namespace to prevent clashing with other libraries and PHP extensions.

To defer the execution of a function until the surrounding function completes, calls are executed in Last In First Out order.

use function Origin\Defer\defer;

public function doSomething()
{
    $fileHandle = fopen($this->filename, 'rt');
    defer($queue, 'fclose', $fileHandle);
    ...
    return $result;
}

Or

use function Origin\Defer\defer;
defer($var,[$this,'method']);