originphp / defer
OriginPHP Defer - PHP implementation of the Go language defer statement
Installs: 17 269
Dependents: 10
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.3.0
Requires (Dev)
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.2
README
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']);